我创建了两个标签,一个是div
,另一个是script
。 Script
标记有src,它是div
标记的子标记。如果我将div
标记附加到DOM的head
或body
,则src为脚本标签未下载。
我的代码是
var scriptTag= document.createElement("script");
scriptTag.type = "text/javascript";
scriptTag.src = "https://example.com/example.js";
var divTag=document.createElement("div");
div.innerHTML=scriptTag.outerHTML;
document.body.appenChild(divTag);
注意:“https://example.com/example.js”不是实际的网址。我的实际网址包含js文件。
答案 0 :(得分:1)
那里有几个问题:
div
不是head
script
元素对象,但是您尝试使用outerHTML
(通过文本标记往返)将其添加到div
appendChild
有两个d
,而不只是一个div
正确的方法是:
var scriptTag= document.createElement("script");
scriptTag.type = "text/javascript";
scriptTag.src = "https://example.com/example.js";
document.head.appendChild(scriptTag); // Or append it to document.body, doesn't matter
如果你确实想要div
,那么你必须将div
放在body
中(直接或嵌套):
var scriptTag= document.createElement("script");
scriptTag.type = "text/javascript";
scriptTag.src = "https://example.com/example.js";
var div = document.createElement("div");
div.appendChildD(scriptTag);
document.body.appendChild(div);
......哪个会奏效,但没有意义。