为了兼容多数浏览器,我们一般同时采用object和embed标签插入flash,如下:
<object id="mySwf" data="">
<embed src="" name="mySwf"/>
</object>
有时候需要获取到flash对象,因此给object添加了id,给embed添加了name,两者的值刚好相同。此时如果使用window[name]来获取flash对象,各浏览器的表现就不一致了:
<object id="mySwf" data="">
<embed src="" name="mySwf"/>
</object>
<script>
alert(window['mySwf'])
</script>
IE :能获取,元素为object
Firefox :undefined,不能获取
Opera :object HTMLCollection
Safari/Chrome :object HTMLCollection
可以看到,在Opera/Safar/Chrome获取到的是一个集合HTMLCollection,弹出其length是2,在Opera/Safari/chrome中分别取出第1,2个元素分别是object,embed元素。
基本如下:
IE,window['mySwf']中的mySwf指的是Object[id=mySwf]
Firefox,window['mySwf']没有获取到任何元素,不支持这么获取
Opera/Safari/Chrome,window['mySwf']同时获取id=mySwf,name=mySwf的元素
最后列出准确的获取flash对象的方式:
function getFlashObj(name){
return document[name] || window[name];
}
这种方式在IE中获取的仍然是object对象,Firefox/Opera/Safari/Chrome中获取的是embed。
注意,document[name]和window[name]顺序不能调过来,如下则是错误的
function getFlashObj(name){
return window[name] || document[name];
}
此外,也可判断浏览器,以下是钱兄 从adobe官网提供的函数:
function thisMovie(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName];
} else {
return document[movieName];
}
}
如果是IE使用window[movieName],其它浏览器则使用document[movieName]。
分享到:
相关推荐
android_webkit android_webkit android_webkit android_webkit android_webkit android_webkit android_webkit android_webkit android_webkit
底层基于(Chromium49/51)/(CEF3.2623/CEF3.2704)内核进行制作,支持系统XP,03,Vista,Win7/8/10 32/64。 技术支持: 内核: WebKit/Chromium/CEF3
最新的内核版本 (Version) WebKit 537.36 Chrome 74.0.3729.157 的CMake后的win32下Visual Studio 2015工程,解压后,请用vs2015(或以上)打开Platform-win32目录下cef.sln,本人Debug模式、Release模式下都编译...
WEBKIT测试工程
内核: WebKit/Chromium/CEF3 (www.cefbuilds.com) 易框架: E(CEF3++) Template Library (www.ps-works.cn,交流,) PS: 关于无法播放flash问题的解决方法: 首先检查系统是否已经安装了相应版本的flash播放器,检查方法:...
NULL 博文链接:https://yishizhu.iteye.com/blog/835202
iphone webkit.网上收集的一点点资料。
CPU iPhone OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A523 Safari/8536.25 Mozilla/5.0 (iPod; CPU iPhone OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, ...
主要介绍了C#在WinForm中使用WebKit传递js对象实现与网页交互的方法,涉及针对WebBroswer控件及WebKit控件的相关使用技巧,需要的朋友可以参考下
M031 Build/IML74K) UC AppleWebKit/534.31 (KHTML, like Gecko) Mobile Safari/534.31 MQQBrowser/3.7/Mozilla/5.0 (Linux; U; Android 2.3.5; zh-cn; U8800 Build/HuaweiU8800) AppleWebKit/533.1 (KHTML, like ...
FDR-A01w Build/HuaweiMediaPad) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 wap:Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X; zh-CN) AppleWebKit/537.51.1 (KHTML...
node-webkit 可集成的Flash PPAPI插件 解压zip到nw.exe同级目录,zip中包含PepperFlash、package.json https://blog.csdn.net/tichangde/article/details/80358659
en-us) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53", "Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 ...
一个简单的User-Agent库,可以从一条User-Agent字符串获取该用户的相关信息。 支持平台: Node.JS / (Windows) Classical ASP / (Windows) WScript / (Windows) CScript / Internet Explorer 6 / Google Chrome /...
WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36 OPR/37.0.2178.32", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/...
CPU iPhone OS 12_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 MQQBrowser/8.9.9 Mobile/16C101 Safari/604.1 MttCustomUA/2 QBWebViewType/1 WKType/1 wap:Mozilla/5.0 (iPhone; ...
window.postMessage的功能是允许程序员跨域在两个窗口/frames间发送数据信息。基本上,它就像是跨域的AJAX,但不是浏览器跟服务器之间交互,而是在两个客户端之间通信。让我们来看一下window.postMessage是如何工作...
Opera Next 是 Opera 最新推出的基于 Chromium 内核的浏览器,浏览器排版引擎由原先的 Presto 更换为高性能的 WebKit/Blink,是第一款基于 Blink 引擎的 Opera 浏览器,提供了更加快速和简便的上网体验。...
关于windows下使用webkit或chrome浏览器内核总结