Javascript 有没有一种方法可以检测Flash拦截器?
我想知道是否有一种Javascript方法可以检测用户是否安装了任何类型的flash阻止插件,以便我能够正确地适应这些用户 例如,我使用“点击flash”,但使用SiFR呈现文本的网站上到处都是“点击flash”按钮,这让人非常恼火。出于这个原因,我在设计中不使用SiFR。但是如果我能发现是否安装了闪存阻止插件,我就不会调用SiFR函数 有什么想法吗?看看。加载页面后,可以调用以下命令Javascript 有没有一种方法可以检测Flash拦截器?,javascript,flash,plugins,Javascript,Flash,Plugins,我想知道是否有一种Javascript方法可以检测用户是否安装了任何类型的flash阻止插件,以便我能够正确地适应这些用户 例如,我使用“点击flash”,但使用SiFR呈现文本的网站上到处都是“点击flash”按钮,这让人非常恼火。出于这个原因,我在设计中不使用SiFR。但是如果我能发现是否安装了闪存阻止插件,我就不会调用SiFR函数 有什么想法吗?看看。加载页面后,可以调用以下命令 var movie = window.document.movie; try { //if the m
var movie = window.document.movie;
try {
//if the movie is blocked then PercentLoaded() should through an exception
if (movie.PercentLoaded() > 0) {
//Movie loaded or is loading
}
}
catch (e) {
//Movie is blocked
}
JS库使用电影引用的PercentLoaded
函数。摘录: 有趣的语法注释…Flash/ExternalInterface(ActiveX/NPAPI)桥接方法不是“函数”的类型,也不是函数的实例,但仍然有效。此外,JSLint不喜欢flash中的('PercentLoaded')样式语法,并建议使用hasOwnProperty(),在这种情况下不起作用。此外,使用(flash&&flash.PercentLoaded)会导致IE抛出“对象不支持此属性或方法”。因此,必须使用“in”语法
对于获取Flash电影的参考资料,可能会很有用。我不确定,也没有时间深入了解更多内容,但您看过swfobject吗?或者,如果有人感兴趣,我在archive.org上归档的页面:
return (flash && 'PercentLoaded' in flash ? flash.PercentLoaded() : null);