关于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的时候, 我们就不用关心脚本, 只需要使用相同的样式和结构就可以了.
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的时候, 我们就不用关心脚本, 只需要使用相同的样式和结构就可以了.
相关文章推荐
- php 广告调用类代码(支持Flash调用)
- flash - 关于浮动广告被flash覆盖的问题
- php 广告调用类代码(支持Flash调用)
- 关于flash里动态文本调用的一些注意
- 【原创】广告调用类,支持Flash调用
- 关于MFC中CDHtmlDialog嵌入flash和调用JS一些技术总结
- 关于Flash和JS相互调用的例子
- 关于flash调用外部程序的方法
- FLASH广告完全揭密 搜狐体育频道FLASH广告JS调用代码
- 关于Flash 打包成DLL 及调用说明
- 关于 android 中 postDelayed方法的讲解,作用:延时调用。
- 关于.net中值类型的方法调用
- 关于webservice在客户端调用proxy.getclient()出现异常
- 关于Android的Activity的onCreate多次调用的问题
- 关于用代码实例化对象与xib实例化文件调用方法的不同
- 在FLASH里调用透明影片
- Android记录15--关于ListView中adapter调用notifyDataSetChanged无效的原因
- 关于Silverlight调用天气预报接口问题
- 关于iframe调用父窗口的元素和方法
- 关于联动菜单调用