gpt4 book ai didi

javascript - 跨域脚本标签适用于 FF 和 Chrome,但不适用于 IE

转载 作者:行者123 更新时间:2023-11-28 02:52:06 25 4
gpt4 key购买 nike

我们提供了一个 HTML 片段,我们的客户可以将其嵌入到他们的网站上以回调我们的 API。此 HTML 是一个简单的表单和托管在我们服务器上的 Javascript 文件。

这是客户在其网站 (clientsite.com) 上托管的内容:

<script type="text/javascript" src="http://mysite.com/webcallback/callback_script.js"></script> 
<form onsubmit="makeCallback();return false;">
<input id="myInput" type="text" />
<input type="submit" value="Go" />
</form>

当调用 makeCallback 时,托管在 mysite.com 上的脚本将执行以下操作:

var xhr = new XMLHttpRequest();
xhr.open("GET", "http://mysite.com/api/callback.php");
xhr.send();

请注意,脚本的域和 XHR 请求的域是相同的,但托管表单和脚本标记的 HTML 位于 clientsite.com 上。

这在 FF 和 Chrome 中工作正常,但在 IE 中我收到访问被拒绝错误。我想这与同源策略有关,但我试图理解为什么这在 FF 和 Chrome 中有效,但在 IE 中无效。有什么办法让它在 IE 中运行吗?

谢谢

最佳答案

包含的脚本在包含它的页面范围内执行,而不是在它自己的范围内执行。因此,您的代码正在从不同的域请求。

允许此请求的浏览器具有更宽松的跨域限制版本。

关于javascript - 跨域脚本标签适用于 FF 和 Chrome,但不适用于 IE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3558350/

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