首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在浏览器注册之前检测NPAPI插件中的UserAgent?

如何在浏览器注册之前检测NPAPI插件中的UserAgent?
EN

Stack Overflow用户
提问于 2010-11-30 17:48:07
回答 2查看 512关注 0票数 0

我需要想办法在Mac上安装专门用于Safari的插件。如果我将.plugin文件复制到Internet Plug-ins文件夹中,火狐和谷歌浏览器在运行时也会检测到。

为了防止出现这种情况,我使用Safari调用来确定用户代理,如果不是NP_UserAgent,则退出。然而,这些插件仍然由Google、Chrome和Firefox注册。有没有办法在不让任何一个浏览器注册插件的情况下做同样的事情?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-30 23:01:58

如果你正在写一个NPAPI插件,它应该可以在任何浏览器中工作。你能解释一下为什么你试图阻止运行其他浏览器的用户使用这个插件吗?根据潜在的需求,可能会有更好的方法。(例如,如果这要与Safari扩展一起使用,那么您需要做的就是让您的扩展使用只有您的插件才能处理的MIME类型,然后其他浏览器是否检测到该插件就无关紧要了,因为它永远不会被实例化)。

你想只针对Safari,还是任何使用苹果WebKit框架的浏览器?如果是后者,您可以编写WebKit plugin而不是NPAPI插件。

票数 2
EN

Stack Overflow用户

发布于 2010-12-01 18:40:52

一种可能的解决方案是检测带有JavaScript的浏览器,只有在浏览器是Safari的情况下才在页面中插入<object>标记。当然,这并不能阻止插件被注册。

另一种方法是为Safari编写WebKit插件。它甚至比NPAPI更容易实现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4312325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档