A tip when running javascript dynamically 朱燚:

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

原文地址:https://www.cnblogs.com/yizhu2000/p/990833.html