您的位置  > 互联网

如果不用CORS,那无论通过

不要尝试更改 .hash。 如果不使用 CORS,则无论是通过 .[0] 还是 .("ID") 都无法访问页面 B 内的任何对象。 唯一可以改变的是src。 包括之前的一个答案,说将 src 更改为:...更改 .hash,别担心,这是不可能的。

____如果您考虑使用较低版本的浏览器:

需要在A页面的域下创建一个C页面,包含以下js:

window.onhashchange = function(){ parent.parent._bHash = location.hash; }

需要在B页面添加如下代码:

<iframe id="cFrame" src="xxxx.com/C.html" style="display:none">iframe>
<script>
window.onhashchange = function(){ document.getElementById('cFrame').src = 'xxx.com/C.html' + location.hash; }
script>

原理是,当B页面的hash值发生变化时,就会将该hash写入到C页面的hash值中,当C页面检测到hash变化时,就会变化...,也就是A页面中的bHash变量( C可以直接操作页面A对象,它们在同一个域中)。 直接在A页下调用变量就可以了。