我正在尝试使用 JS 进行插入。 我有以下代码:
var fileref = document.createElement('script');
fileref.src = "js/index.js";
document.documentElement.appendChild(fileref);
我可以验证代码是否跨域加载,但它并不总是执行。即使我之前设置了</head>
有时会,但有时却不会。关于我可能做错了什么有什么想法吗?
最佳答案
JavaScript 有时会在 document.documentElement
之前运行存在。因此,当它附加新的 script
时元素,它失败了。不一致(“有时会,但有时不会”)是由于页面渲染速度略有不同造成的。
更新:
将其放入您的 <head>
:
<script type="text/javascript">
(function () {
var scrpt = document.createElement('script');
scrpt.type = 'text/javascript';
scrpt.async = true;
scrpt.src = 'js/index.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(scrpt, s);
})();
</script>
关于Javascript跨域不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8947440/