我必须检测浏览器上运行的主要插件的存在及其数量,例如 Java、Active-X、Flash 以及浏览器上明显安装的任何主要插件。我浏览了很多示例,但找不到正确的方向。如果有人可以帮助我,那就太好了。所有浏览器版本和浏览器都应该支持它。
提前致谢 自治
最佳答案
我之前用过flash detector来做闪光检测,效果还不错。
Flashetect 链接 http://www.featureblend.com/javascript-flash-detection-library.html
或者您也可以使用 swf 对象,这是更标准的方法。 SWF 对象,适用于 FLASH CS 我相信导出中嵌入了脚本,您可以选择替代内容的选项。 SWFObject得到了Adobe的官方支持,是一个更好的选择。
swf 对象教程 http://www.gotoandlearn.com/play.php?id=77
还有一个 Adobe Air 应用程序,可以生成您可以复制和粘贴的代码。
然而,ActiveX 与 html5 的相关性较低,对 FileReaderAPI、拖放、blob url、DataURLS、formData 和 AJAX LEVEL2 的支持等功能确实消除了对许多仅由 ActiveX 启用的功能的需求
ActiveX 更像是 Microsoft 的东西(INTERNET EXPLORER 7 及更低版本)
例如
<script>
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
}
</script>
这只是一个简单的例子。另一个原因是 Active X 给你一个很大的警告,用户必须点击它,基本上说,通过允许 ActiveX,网站可以访问你的电脑,这会吓到用户,通常不会点击它来允许它。
这让我接触到了java。 Java 小程序再次由于 Flash 和 html5 的原因而过时,同样的 Java 应用程序为了启用它们,它会提示用户一个大而可怕的弹出窗口,表示启用此应用程序将允许网站访问您的计算机。它再次吓到了用户,而且更常见的是他们不会点击允许它。
我给你的建议是使用modernizr.js,modernizr允许基于功能检测和基于浏览器支持的代码加载。随着 HTML5 几乎成为标准,而 Facebook、Youtube 等主要网站不再支持 IE7……对插件检测的需求正在减少。
这是一篇关于检测 ActiveX 的单独文章
关于javascript - 使用 Javascript 检测主要插件(Java、Active-X、Flash)的存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19362903/