我知道我无法从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
)。
有没有解决方法?