gpt4 book ai didi

javascript - 如何将 "crossorigin"标记添加到动态加载的脚本中?

转载 作者:数据小太阳 更新时间:2023-10-29 04:21:55 26 4
gpt4 key购买 nike

上下文:To quote the Mozilla documentation:

Normal script tags will pass minimal information to the window.onerror for scripts which do not pass the standard CORS checks. To allow error logging for sites which use a separate domain for static media, several browsers have enabled the crossorigin attribute for scripts using the same definition as the standard img crossorigin attribute.

自从我们将 javascript 移至 CDN 后,我们意识到我们的脚本遇到了这个问题。我们将 crossorigin 属性添加到我们的脚本标签中,这对于“硬编码”脚本标签来说效果很好,但是我们动态加载了一些脚本,我不知道如何添加 crossorigin 标记到这些脚本。

在 Chrome 40 中:如果我使用 Javascript 动态添加脚本标签,如下所示:

var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.charset = 'utf-8';
script.crossorigin = 'anonymous';
script.src = some_url_on_another_domain;
head.appendChild(script);

我希望将 crossorigin 标记添加到插入到我的文档中的脚本标记中。但是,当我检查 Developer tools 中的脚本标签时,它显然不存在。 (并且我可以验证请求脚本时未在请求 header 中设置 origin header 。)

现在,我正在回退到对这些跨域脚本使用 ajax 请求,所以有变通办法,但现在我很好奇是否可以在动态脚本标签上添加 crossorigin 标签。

最佳答案

好吧,我发现了我的问题。

这个:

script.crossorigin = 'anonymous';

应该是这样的:

script.crossOrigin = 'anonymous';

注意大写的“O”。该属性在 HTML 中未大写,但在 JS 界面中大写。很高兴知道!

很尴尬,但我决定让我的错误永垂不朽,而不是删除问题,以防其他人犯同样的问题。

关于javascript - 如何将 "crossorigin"标记添加到动态加载的脚本中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28901166/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com