首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于JavaScript的Safari mac闪光检测

基于JavaScript的Safari mac闪光检测
EN

Stack Overflow用户
提问于 2015-02-24 23:58:51
回答 1查看 401关注 0票数 0

Safari8的Flash检测目前已经中断,我正在使用下面的代码

代码语言:javascript
复制
/**
 * check if flash is installed and enabled on the browser
 */
function isFlashInstalled(){
    var hasFlash = false;
    try {
      var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
      if (fo) {
        hasFlash = true;
      }
    } catch (e) {
      if (navigator.mimeTypes
            && navigator.mimeTypes['application/x-shockwave-flash'] != undefined
            && navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin) {
        hasFlash = true;
      }
    }
    return hasFlash;
}

但是在safari上它总是返回true,即使闪光灯在设置中被阻止和禁用。

因此我需要知道如何检测Safari浏览器上的flash是否被阻止或禁用

EN

回答 1

Stack Overflow用户

发布于 2016-12-18 03:50:32

检查document.plugins而不是navigatorwindow特征检测:

代码语言:javascript
复制
document.plugins

当需要实例化的插件时,使用文档“myPlugin”而不是窗口“myPlugin”。实例化父级时,文档“myPlugin”将不匹配回退元素。

或者对<param>元素使用检查:

代码语言:javascript
复制
document.getElementsByTagName("param").length;

代码语言:javascript
复制
function paramCheck(e)
  {
  console.log(document.getElementsByTagName("param").length);
  window.removeEventListener("scroll", paramCheck, false);
  } 
   
window.addEventListener("scroll", paramCheck, false);
代码语言:javascript
复制
body { height:  1200px;}

参考

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

https://stackoverflow.com/questions/28700444

复制
相关文章

相似问题

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