第二次单击后:SecurityError:阻止具有原点的帧访问跨源帧?

时间:2017-11-29 17:23:18

标签: javascript jquery html asp.net iframe

我知道我无法从javascript访问iframe,但请听我说。

我有一个带iframe的html页面。 html和iframe内容都在我们公司的内部网和相同的IP中。唯一的区别是HTML在一个端口,而iframe内容在另一个端口。

我的html有一个iframe,如下所示:

<div style="width: 900px; padding-top: 100px;display:none" class="container" id="tabs">
  <ul class="nav nav-tabs">
    <li><a data-toggle="tab" href="#menuzip">Tab 1</a></li>
    <li onclick="FillDataGrid()" ><a data-toggle="tab" href="#menuzip">Tab 2</a></li>
  </ul>

  <div class="tab-content">
    <div id="menuzip" class="tab-pane fade">
        <div id="zipTable" style="width: 900px; height: 800px"> 
        <iframe id="dataframe" src="" width="900px" height="800px" scrolling="no" allowTransparency="true" frameborder="0" ></iframe> 
        </div>
    </div>
  </div>
</div>

FillDataGrid()看起来像这样:

function FillDataGrid()  {
   var doc = document.getElementById('dataframe').contentWindow.document;
   doc.open();
   doc.write('Test');
   doc.close(); 
   var zipSite = "http://12.34.56.78:88/ShowData.aspx";
   var zip = document.getElementById('dataframe');
   zip.src = zipSite;
}

当我点击&#34;标签2&#34;这个标签第一次显示了带有文字的占位符&#34;测试&#34;然后显示ShowData.aspx,这是预期的行为。换句话说,我没有收到错误Blocked a frame with origin "/" from accessing a cross-origin frame.

我再次点击标签后发现错误。

html的网址为http://12.34.56.78:81/Home.html。 iframe内容的IP(ShowData.aspx)位于同一个ip中,但端口不同(http://12.34.56.78:88/ShowData.aspx)。

有没有解决方法?

0 个答案:

没有答案