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