【问题标题】:Cross-origin error with X-Frame-Options:sameorigin?X-Frame-Options 的跨域错误:sameorigin?
【发布时间】:2018-05-27 11:23:08
【问题描述】:

我的带有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 会更改为 不同的域?我只有在加载网络表单后才会收到错误消息。

有没有解决办法?谢谢。

无论如何,这是 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>

【问题讨论】:

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


    【解决方案1】:

    那么为什么 iframe 加载后 iframe 会更改为不同的域?

    它没有。

    错误消息显示来源不同。

    来源是 URL 方案 + 主机名 + 端口的组合。

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

    【讨论】:

      猜你喜欢
      • 2021-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-10
      • 2012-08-24
      • 2013-05-15
      • 2016-07-12
      • 2013-08-10
      相关资源
      最近更新 更多