【问题标题】:Detecting NPAPI support using JavaScript使用 JavaScript 检测 NPAPI 支持
【发布时间】:2013-02-12 17:57:11
【问题描述】:

如何检测浏览器是否支持来自 JavaScript 的 NPAPI?并非所有人都这样做,虽然我可以依赖用户代理,但如果存在的话,我宁愿使用更可靠的方式。

不幸的是,我无法简单地检测我的插件是否已加载,因为可能是该插件尚未安装在受支持的浏览器上。

谢谢。

【问题讨论】:

    标签: javascript npapi browser-plugin


    【解决方案1】:

    这方面没有 JS API,但基本上所有桌面浏览器除了 IE-/Trident-based 和 ChromeOS 都支持 NPAPI。

    您可以通过检查navigator.plugins来了解您的插件是否已安装。

    【讨论】:

    • “非桌面”在这一点上是一个很大的例外。此外,ChromeOS 不支持 NPAPI,并且有非 IE Trident-based 浏览器,如 Avant 和 Maxthon。因此,获得正确的 UA 列表并非易事。
    • 好吧,ChromeOS 让事情变得复杂了。虽然还有其他关于移动/IE/...检测的问题,但一些 UA 检查了 "Trident"、IE、"Mobi""CrOS" 目前应该可以工作吗?
    • 很遗憾没有 API。幸运的是,我的 NPAPI 插件仅适用于 32 位 Windows,因此我可以合理可靠地检查包含“Windows NT”而不是(“Win64”或“Trident”)的 UA。
    • 请注意,Chrome 弃用 NPAPI 使情况变得更加复杂:stackoverflow.com/q/28766423/230167
    【解决方案2】:

    如果你想检查浏览器是否启用了java插件,那么你应该使用navigator.javaEnabled()。它将在 chrome 中运行。

    【讨论】:

      猜你喜欢
      • 2015-04-30
      • 2016-02-11
      • 2019-09-07
      • 2013-09-29
      • 2012-06-08
      • 2014-12-25
      • 2010-12-27
      • 1970-01-01
      • 2011-02-20
      相关资源
      最近更新 更多