您的位置:首页 > 其它

关于Flash广告的调用

2011-04-02 21:41 148 查看
swfobject应该是目前比较常用的js库了, 但在网站运营的过程中, 却发现一些改版的xp系统不知怎么集成的一些低版本flash, 在ie下竟然会使swfobject判断flash版本的方法失效. 于是翻出源代码找到出了这段代码

JavaScript

(function(){
var load=function(container,id){
var dt=container.getElementsByTagName("dt")[0];
var dd=container.getElementsByTagName("dd")[0];
if(swfobject.getFlashPlayerVersion().major>0){
var object=document.createElement("object");
dd.appendChild(object);
object.id=id;
swfobject.embedSWF(dd.title,id,container.clientWidth,container.clientHeight,"6.0.0","expressInstall.swf",{},{"wmode":"transparent"},{});
}
else{
var image=document.createElement("img");
dt.appendChild(image);
image.src=dt.title;
}
dt.getElementsByTagName("a")[0].onfocus=function(){this.blur();};
dt.removeAttribute("title");
dd.removeAttribute("title");
};
swfobject.addDomLoadEvent(function(){
var elems=document.getElementsByTagName("dl");
var index=0;
for(var i=0;i<elems.length;i++){
if(elems[i].className.indexOf("swf-container")>-1){
load(elems[i],["#swf_",index].join(""));
index++;
}
}
});
})();

最后把这段脚本嵌到swfobject后面, 当dom加载完成的时候找出所有包含swf-container样式的dl标签, 当用户支持flash的时候我们就加载flash, 否则就用图片代替, 设置"wmode":"transparent" 避免flash把高z-index级别标签遮住. 这样在添加更多flash的时候, 我们就不用关心脚本, 只需要使用相同的样式和结构就可以了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: