我正在尝试使用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>