Javascript跨域不一致

发布于 2024-12-28 07:02:04 字数 279 浏览 0 评论 0原文

我正在尝试使用 JS 进行插入。 我有以下代码:

var fileref = document.createElement('script');
fileref.src = "js/index.js";
document.documentElement.appendChild(fileref);

我可以验证代码是否跨域加载,但它并不总是执行。即使我在 之前设置它,

有时会这样做,但有时却不会。关于我可能做错了什么有什么想法吗?

I am trying to make a plugging using JS.
I have the following code :

var fileref = document.createElement('script');
fileref.src = "js/index.js";
document.documentElement.appendChild(fileref);

I can verify that the code loads across domain however it doesn't always execute. Even if I set it before </head>

Sometimes it does but sometimes it just doesn't. Any ideas on what I could be doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

辞旧 2025-01-04 07:02:04

JavaScript 有时会在 document.documentElement 存在之前运行。因此,当它附加新的 script 元素时,它会失败。不一致(“有时会,但有时不会”)是由于页面渲染速度略有不同造成的。

更新:

将其放入您的中:

<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>

The JavaScript is sometimes running before the document.documentElement exists. So when it goes to append the new script element, it fails. The inconsistency ("sometimes it does but sometimes it just doesn't") is due to the page rendering at ever-so-slightly different speeds.

Update:

Put this in your <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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文