检测Google Chrome是否阻止Java插件
-
27-10-2019 - |
题
在您明确允许其运行之前,Google Chrome会阻止Java插件。 https://www.google.com/support/chrome/bin/answer.py?answer=1247383&hl=zh-CN
我如何在JavaScript中检测到Chrome是否阻止了它?
解决方案
不仅Chrome浏览器采用了点击播放功能-Firefox(Java通过阻止列表使点击播放),Opera(其Turbo模式使所有插件都可以点击播放),...以及阻止插件自动运行的附件/扩展程序。
这些都不能让您从内容脚本中找到有关点击播放的插件的信息。因此,理想情况下,您可以更一般地解决问题。
您可以通过以下两种方法来区分未安装的插件(请参见navigator.plugins
)和其他情况
- 定期测试其脚本性或
- 在加载脚本时将其调用插入页面脚本
...,并据此假设“无法加载或被阻止” 。在MDN上,有一个最佳实践页面。 / p>
这种区别通常应该足够好,例如SoundCloud如何处理点击播放的插件。
其他提示
答案编辑了2013.03.15,以提高信息的准确性
navigator
对象中的数组可以作为受支持的插件的列表:
通用标签
此API是非标准,但是所有现代浏览器都实现了它。Internet Explorer的支持至少可以追溯到IE7,但在旧版本的Opera中不可用。
navigator.plugins
具有以下基本结构:
通用标签
这是一个遍历navigator.plugins
并检查给定字符串的name
属性的函数。如果找到,它将返回true
或false
。
通用标签
像这样使用(不区分大小写): 通用标签
不隶属于 StackOverflow