有没有一种方法可以检测Flash拦截器?

6
我想知道是否有一种JavaScript的方法可以检测用户是否安装了任何类型的Flash阻止插件,以便我可以适当地为这些用户提供服务。
例如,我使用“点击启用Flash”,但是使用SiFR来呈现文本的网站上到处都是“点击启用Flash”按钮,这非常令人烦恼。出于这个原因,我在我的设计中不使用SiFR。但如果我能够发现是否安装了Flash阻止插件,我将简单地不调用SiFR函数。
有什么想法吗?

1
我不确定并且没有时间深入研究,但是你是否看过swfobject?http://code.google.com/p/swfobject/ - marcgg
https://dev59.com/EXTYa4cB1Zd3GeqPw59Horhttps://dev59.com/zm025IYBdhLWcg3w7qfL - Grigory Kislin
2个回答

5

如果有人感兴趣,我在archive.org上存档的页面链接是:https://web.archive.org/web/20100710000820/http://www.adobe.com/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html - nitro2k01

2

soundmanager2 JS库使用影片引用的PercentLoaded函数。
摘录:

return (flash && 'PercentLoaded' in flash ? flash.PercentLoaded() : null);

有趣的语法注意事项...Flash/ExternalInterface(ActiveX/NPAPI)桥接方法不是“function”的typeof,也不是Function的instanceof,但仍然有效。此外,JSLint不喜欢('PercentLoaded' in flash)-style 的语法,并推荐hasOwnProperty(),但在这种情况下不起作用。此外,使用(flash && flash.PercentLoaded)会导致IE抛出“对象不支持此属性或方法”的错误。因此,必须使用'in'语法。
要获取对Flash电影的引用,可能会有用的是此页面

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接