我正在尝试使用:
设置脚本标记的src属性document.getElementById("setScript").setAttribute("src","adventures/" + setting + ".js");
“setScript”显然是脚本标记的id,设置变量是更改脚本的参数。我测试了以确保src实际设置,使用:
alert(document.getElementById("setScript").getAttribute("src"));
打印出来的冒险/ [无论参数是什么] .js。当我在html中的src值中输入完全相同的内容时,它将调用该函数。但是当它在javascript中被更改时,它不会。有谁知道为什么会这样?
提前致谢
答案 0 :(得分:2)
为了加载新的javascript文件,你必须使用src设置创建一个新的脚本元素,然后将其添加到html中,例如将其附加到head元素
var script = document.createElement("script");
script.src = "/somescript.js";
var head = document.getElementsByName("head")[0];
head.appendChild(script);
答案 1 :(得分:0)
只是在黑暗中拍摄,但我认为只有在将元素添加到页面时才会加载脚本。
尝试类似:
var scr = document.getElementById('setScript');
scr.parentNode.removeChild(scr);
scr.src = "adventures/"+setting+".js";
document.body.appendChild(scr);
如果失败,那么您需要创建一个新的脚本元素,设置其源,然后追加它。