Javascript 如果安装了插件,如何签入Firefox和Chrome

Javascript 如果安装了插件,如何签入Firefox和Chrome,javascript,firefox,plugins,google-chrome,Javascript,Firefox,Plugins,Google Chrome,我在我的web应用程序中使用一个嵌入式插件来启用扫描(Dynamsoft的web扫描插件)。我为firefox用户提供xpi服务,为chrome用户提供crx服务。当查看未安装插件的页面时,Firefox将尝试下载插件,用户需要单击“手动安装”进行安装。Chrome不会尝试加载插件(这是设计的,根据) 我想使用javascript来检测插件是否已安装(最好在尝试通过嵌入标记加载插件之前)。如果没有安装插件,我想向用户提供一个解释和正确插件的链接。如果用户点击下载链接而不是仅仅通过嵌入标签加载,两

我在我的web应用程序中使用一个嵌入式插件来启用扫描(Dynamsoft的web扫描插件)。我为firefox用户提供xpi服务,为chrome用户提供crx服务。当查看未安装插件的页面时,Firefox将尝试下载插件,用户需要单击“手动安装”进行安装。Chrome不会尝试加载插件(这是设计的,根据)

我想使用javascript来检测插件是否已安装(最好在尝试通过嵌入标记加载插件之前)。如果没有安装插件,我想向用户提供一个解释和正确插件的链接。如果用户点击下载链接而不是仅仅通过嵌入标签加载,两种浏览器都会安装各自的插件,而不会出现任何问题


那么,有人知道一种检测插件是否使用javascript安装的方法吗?

在我看来,如果一个网站(远程的)可以访问你的插件(本地的),这听起来像是一个潜在的安全漏洞。所以我想这是不可能的。

您的插件可以监视用户打开的页面。如果是您的页面,您可以在该页面中设置一个全局变量,页面的JavaScript应该能够检测到这一点。

您看过了吗

…以及webkit的等效参考-


WebKit DOM的Apple参考似乎已经消失<代码>导航器。插件在Safari和Chrome中确实对我有用。在这里看到一个jsfiddle:

不幸的是,它不是我的插件,尽管我可以向插件制造商咨询,如果他们设置了我可以检查的som变量。我更愿意在尝试嵌入插件之前检查插件,以避免在没有警告用户的情况下提示安装。@Jens Alm:我明白了。根据“插件”的类型,@russau的回答可能会有所帮助。可能会,但我实际上不需要访问该插件,只知道它是否存在。它是否有点“隐私漏洞”,因为它可以用来在浏览器上显示指纹。请看演示:太棒了!我会考虑一下,但这确实是我想要的。谢谢你!!!我们有一个赢家。工作起来很有魅力!谢谢Jens,这在webkit中对你有用吗?russau指向webkit插件的链接有点坏(重定向到新页面)或者不是很好clear@knocte是的,苹果链接已经消失了。通过一个链接更新了答案,该链接指向在Chrome/Safari中工作的JSFIDLE