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