动态加载JS控制Flash激活框的时机问题

作者:微光时间:2026-10-22 03:50:12浏览:78

本文探讨在IE浏览器中通过动态加载JavaScript文件来隐藏Flash激活框的技术细节。重点分析了script元素创建、src赋值与DOM插入head的顺序对结果的影响。实验表明,必须先为script对象的src属性赋值,再将其追加到页面中,才能成功欺骗IE不显示激活框;若先插入再赋值,则无法达到预期效果。

动态加载JS与Flash激活框的关系

众所周知,在网页中引入JavaScript文件并通过脚本控制Flash的HTML代码输出,是一种简单的欺骗IE浏览器、避免显示Flash激活框的方法。然而,当脚本采用动态加载方式时,会出现两种不同的执行结果,具体见以下代码示例。




程序代码


var s = docuemnt.createElement("script");


s.src = src;


docuemnt.getElementsByTagName("head")[0].appendChild(s);





程序代码


var s = docuemnt.createElement("script");


docuemnt.getElementsByTagName("head")[0].appendChild(s);


s.src = src;




从表面看,这两段代码的执行结果似乎相近。但其中一种写法无法成功欺骗IE,导致引入的JavaScript输出的Flash内容依然会触发激活框。



这两段代码唯一的区别在于操作顺序:是先给script对象的src属性赋值再将其追加到head元素中,还是先追加到head再赋值src。经过实验验证,只有先为script的src属性赋值,随后再将其追加到页面上,才能成功欺骗IE浏览器,避免显示Flash激活框。

作者最新文章