Javascript 跨域脚本标记在FF和Chrome中工作,但在IE中不工作
我们正在提供一小部分HTML,我们的客户可以将其嵌入到他们的网站上,以回调我们的API。这个HTML是一个简单的表单,是托管在服务器上的Javascript文件 这是客户端在其网站(clientsite.com)上承载的内容: 请注意,脚本的域和XHR请求的域是相同的,但是承载表单和脚本标记的HTML位于clientsite.com上 这在FF和Chrome中运行良好,但在IE中我遇到了一个拒绝访问错误。我想这与同一原产地政策有关,但我试图理解为什么这在FF和Chrome中有效,而在IE中无效。有没有办法让它在IE中有效Javascript 跨域脚本标记在FF和Chrome中工作,但在IE中不工作,javascript,cross-browser,cross-domain,same-origin-policy,Javascript,Cross Browser,Cross Domain,Same Origin Policy,我们正在提供一小部分HTML,我们的客户可以将其嵌入到他们的网站上,以回调我们的API。这个HTML是一个简单的表单,是托管在服务器上的Javascript文件 这是客户端在其网站(clientsite.com)上承载的内容: 请注意,脚本的域和XHR请求的域是相同的,但是承载表单和脚本标记的HTML位于clientsite.com上 这在FF和Chrome中运行良好,但在IE中我遇到了一个拒绝访问错误。我想这与同一原产地政策有关,但我试图理解为什么这在FF和Chrome中有效,而在IE中无效。
谢谢包含的脚本在包含它的页面范围内执行,而不是在它自己的范围内执行。因此,您的代码是从不同的域请求的
允许此请求的浏览器具有更宽松的跨域限制版本。包含的脚本在包含它的页面范围内执行,而不是在它自己的范围内执行。因此,您的代码是从不同的域请求的 允许此请求的浏览器具有更宽松的跨域限制版本
<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>
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://mysite.com/api/callback.php");
xhr.send();