JS获取FLASH对象,浏览器兼容问题

从网页中获取flash对象的时候,每个浏览器都不一致,
需要针对不同的浏览器不同的代码。

如果是IE,
获取方式如下,id为flash对象的名称:
chartRef = window[id];


非IE的时候,如果是FireFox
获取方式如下:
chartRef = document.embeds[id];

火狐以外的浏览器,
在Opera/Safar/Chrome如果通过embeds获取,得到的是一个集合HTMLCollection,弹出其length是2,分别取出第1,2个元素分别是object,embed元素。
正确的获取方式如下:
chartRef = window[id];


简单总结一下:
if (navigator.appName.indexOf("Microsoft Internet")==-1) {
    if (document.embeds && document.embeds[id]){
    	if(navigator.userAgent.indexOf("Firefox")>0){
    		chartRef = document.embeds[id];
    	}else{
    		chartRef = window[id];
    	}
    }
	else{
		chartRef  = window.document[id];
	}
	     
  }
  else {                  
    chartRef = window[id];
  }

猜你喜欢

转载自java-007.iteye.com/blog/1590816