关于firefox的alert不阻塞后续执行脚本问题
今天在写程序的时候发现ff一个奇怪的现象:
<script type="text/javascript">
<!--
var script = document.createElement("script");
script.type="text/javascript";script.src="js.js";
document.getElementsByTagName("head")[0].appendChild(script);
alert("alert 2");
//-->
</script>
//js.js
function test(){alert("alert from js.js")}
test();
本来以上的代码是想做个动态脚本元素来提升性能问题。但是发现在ff下弹出的结果竟然是 先弹出alert from js.js 再弹出 alert 2.
后来经过灰哥(http://home.cnblogs.com/u/GrayZhang/)的指点发现是ff欺骗了我们的眼睛。
ff其实也是先弹出了alert2 然后弹出alert from js.js 但是由于ff的alert是不阻塞后续执行脚本的,并且ff的弹出框不能被拖动,所以就出现了后来弹出的alert form js.js覆盖住了alert2的现象。
自己debug一下就能避免这样的错觉了。下次遇到的时候就不会觉得奇怪了。