动态Javascript导入
我正在制作一个需要能够动态更改正在运行的JavaScript代码的网页。很多时候,动态代码中的函数名称相同,但行为不同,因此使用动态Javascript导入,javascript,html,ajax,Javascript,Html,Ajax,我正在制作一个需要能够动态更改正在运行的JavaScript代码的网页。很多时候,动态代码中的函数名称相同,但行为不同,因此使用document.getElementsByTagName('head')[0].appendChild(脚本)不是一个选项。现在,我在文档的头部有了,当我想更改活动脚本时,我调用document.getElementById('dynamicScript')。src=“ajax.php?get=script&script=“+page,该PHP页面将输出相应的脚本(不
document.getElementsByTagName('head')[0].appendChild(脚本)代码>不是一个选项。现在,我在文档的头部有了
,当我想更改活动脚本时,我调用document.getElementById('dynamicScript')。src=“ajax.php?get=script&script=“+page代码>,该PHP页面将输出相应的脚本(不带标记)。不过,它不起作用。我是做错了什么,还是有什么别的方法也能奏效?您需要向DOM中添加一个新的
元素,而不仅仅是更改它。此外,如果不重新加载页面,您也无法卸载旧脚本。如果需要删除以前脚本声明的函数和数据,则需要以编程方式执行。替换函数是有效的
最后,我建议使用脚本加载程序,如RequireJS、ControlJS或SexyJS。手工操作是额外的工作
编辑:如果您使用的是jQuery,并且不需要额外控制脚本加载顺序,也可以使用它。仅仅因为您吐出了正确的javascript,并不意味着它正在执行。正如Stefan所指出的,一种选择是使用用于jQuery的getScript插件来完成您的任务。也许这就是您的目的?