Safari8的Flash检测目前已经中断,我正在使用下面的代码
/**
* 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是否被阻止或禁用
发布于 2016-12-18 03:50:32
检查document.plugins而不是navigator或window特征检测:
document.plugins当需要实例化的插件时,使用文档“myPlugin”而不是窗口“myPlugin”。实例化父级时,文档“myPlugin”将不匹配回退元素。
或者对<param>元素使用检查:
document.getElementsByTagName("param").length;
function paramCheck(e)
{
console.log(document.getElementsByTagName("param").length);
window.removeEventListener("scroll", paramCheck, false);
}
window.addEventListener("scroll", paramCheck, false);body { height: 1200px;}
参考
https://stackoverflow.com/questions/28700444
复制相似问题