Javascript跨域不一致

Javascript Cross domain not consistent

本文关键字:不一致 Javascript      更新时间:2023-09-26

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