X-Frame-Options的跨源错误:sameorigin?

时间:2017-12-13 14:20:14

标签: javascript html asp.net iframe iis-7

我的带有iframe的HTML页面会在按钮点击时显示asp.net网络表单。两个页面(html和webform)都托管在我们的Intranet中;它们是相同的IP但不同的端口。

我一直收到SecurityError: Blocked a frame with origin...,因此我最终将X-Frame-Options: SAMEORIGIN添加到IIS个文件夹中。我可以在 Chrome开发者工具中看到,但我仍然会收到错误。

我理解CORS错误,但iframe在HTML中。那么为什么iframe加载后iframe会更改为不同的域?一旦加载了webform,我才会收到错误。

有解决方案吗?感谢。

enter image description here

无论如何,这是HTML:

<html class="no-js" lang="">
<head>
</head>
<body>
<div id="storeTable" style="width: 900px; height: 200px;"> 
    <iframe id="retailframe" src="" width="900px" height="800px" scrolling="no" allowTransparency="true" frameborder="0" ></iframe> 
</div>
    <input type="button" value="Capacity Chart" onclick="CapacityChart();">
    <script>
function CapacityChart()
{
    var doc = document.getElementById('retailframe').contentWindow.document;
    doc.open();
    doc.write('Test');
    doc.close();
    var storeSite = "http://10.12.34.83:88/Grid.aspx";
    var store = document.getElementById('retailframe');
    store.src = storeSite;
}
</script>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

  

那么为什么iframe加载后iframe会更改为其他域?

它没有。

错误消息显示来源不同。

原点是URL方案+主机名+端口的组合。

不同的端口==不同的来源。