Javascript SwfObject-检测不带";允许运行…”;firefox消息
我一直在我的一个项目中使用swfobject,以检测最终用户是否安装了Flash版本。问题在于Firefox,因为它显示了一条消息:“允许运行Adobe Flash?”这是我想要避免的 这不是向最终用户显示替代内容,我只想尝试检测Flash,如果未安装Flash,则不显示任何内容,但如果安装了Flash,则不显示允许运行的内容。。。Firefox中的消息 有人知道如何防止SwfObject发生这种情况吗 注意:只需在html标题中包含下一行:Javascript SwfObject-检测不带";允许运行…”;firefox消息,javascript,firefox,flash,swfobject,Javascript,Firefox,Flash,Swfobject,我一直在我的一个项目中使用swfobject,以检测最终用户是否安装了Flash版本。问题在于Firefox,因为它显示了一条消息:“允许运行Adobe Flash?”这是我想要避免的 这不是向最终用户显示替代内容,我只想尝试检测Flash,如果未安装Flash,则不显示任何内容,但如果安装了Flash,则不显示允许运行的内容。。。Firefox中的消息 有人知道如何防止SwfObject发生这种情况吗 注意:只需在html标题中包含下一行: <script type="text/java
<script type="text/javascript" src="swfobject.js"></script>
它触发允许运行消息:S
如果您认为有更好的替代swfobject的方法来解决这个问题,并且它是一个好的多用途swf处理程序工具,我洗耳恭听
下面是一个消息示例:
谢谢类似于:
var flashInstalled = ((typeof navigator.plugins != "undefined" && typeof navigator.plugins["Shockwave Flash"] == "object") || (window.ActiveXObject && (new ActiveXObject("ShockwaveFlash.ShockwaveFlash")) != false));
不确定是否需要检查所有浏览器,或仅检查部分浏览器,以便可以删除activeX检查……导航器mimeType表示一个插件对象。您可以使用它循环浏览并获取浏览器中启用的任何插件的详细信息 示例:
var plugins = navigator.mimeTypes;
var i;
for(i = 0 ; i < plugins.length ; i++){
var pluginName = plugins[i].description.toLowerCase()
if(pluginName.indexOf('shockwave') > -1){
console.log(pluginName + ' : flash in enabled')
break;
}
}
调用navigator.mimeTypes
将返回一个插件对象数组
仅供参考:如果用户禁用了插件,则该插件将不会出现在此阵列中。
最简单的逻辑是简单地在描述中搜索冲击波
var plugins = navigator.mimeTypes;
var i;
for(i = 0 ; i < plugins.length ; i++){
var pluginName = plugins[i].description.toLowerCase()
if(pluginName.indexOf('shockwave') > -1){
console.log(pluginName + ' : flash in enabled')
break;
}
}
var plugins=navigator.mimeTypes;
var i;
对于(i=0;i-1){
console.log(pluginName+':启用闪存)
打破
}
}
将此脚本粘贴到任何控制台中
希望这对你有所帮助
hasblash=[].some.call(navigator.plugins,function(p){return p.name==“Shockwave Flash”})
@dandavis,你为什么不把它变成一个完整的答案呢?您的代码应该在什么上下文中使用?