朱燚

--书到读透处,酒于微醺时

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

firefox works differently from ie when change src of a existing script , in ie this action cause the javascript engine to reload that script, and execute it ,while in firefox, nothing will happen

 

you can have your own test by following code

<script id="s1" type="text/javascript"> </script> <script language="javascript" type="text/javascript"> document.getElementById("s1").src="1.js";
</script>
in 1.js we simply alert some message
 
alert("executed");

 

So if you want the browser to execute some js dynamically , you need to reload the script element.  Add a script element into DOM will cause the execution of the script in both browser ,following code shows how to reload a script element

 

 

if(this.element)
this.element.parentNode.removeChild(this.element);
this.element=document.createElement("SCRIPT");
this.element.type="text/javascript";
this.element.id = "MzJsonElement";
this.element.src=url;
document.getElementsByTagName(
"HEAD")[0].appendChild(this.element);

 

this might be helpful when  we need our browser to run some  json callback script

 

posted on 2007-12-11 15:06  朱燚:-)  阅读(390)  评论(0编辑  收藏  举报