Javascript 为什么不将外部脚本添加到DOM中?

Javascript 为什么不将外部脚本添加到DOM中?,javascript,Javascript,我正在尝试以通常的方式动态添加第三方脚本: var s = document.createElement('script'); s.type = 'text/javascript'; s.src = document.location.protocol+'//path.to.script/script.js'; document.getElementsByTagName('head')[0].appendChild(s); 它不工作-我在标记中没有看到标记。当我在浏览器控制台中运行相同的代码段

我正在尝试以通常的方式动态添加第三方脚本:

var s = document.createElement('script');
s.type = 'text/javascript';
s.src = document.location.protocol+'//path.to.script/script.js';
document.getElementsByTagName('head')[0].appendChild(s);
它不工作-我在
标记中没有看到
标记。当我在浏览器控制台中运行相同的代码段时,它是相同的-我在
中没有看到
标记。当我直接打开链接时,我实际上看到了
script.js
文件内容。如果我将
s.src
更改为其他内容(任何内容),它会按预期添加
标记

什么可能会阻止动态添加脚本?

s.async=true在动态添加脚本时显示-以便自动运行

尝试添加它并再次检查

另外(最佳实践提示),我建议您不要将最佳实践添加到head中,而是:

 var entry = document.getElementsByTagName('script')[0];
 entry.parentNode.insertBefore(script, entry);
另外,您不需要
document.location.protocol+'//path.to.script/script.js'

'//path.to.script/script.js'
-就可以了

谷歌就是这样工作的:


脚本是否显示在控制台的“网络”选项卡中?添加了
asynch
片段,并将注入方法更改为您的
条目
内容,仍然无法执行:(