我的带有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,我才会收到错误。
有解决方案吗?感谢。
无论如何,这是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>
答案 0 :(得分:0)
那么为什么iframe加载后iframe会更改为其他域?
它没有。
错误消息显示来源不同。
原点是URL方案+主机名+端口的组合。
不同的端口==不同的来源。