【运行错误】Uncaught DOMException: Blocked a frame with origin "null" from accessing a cross-origin frame.
代码
出现标题中所示问题的代码如下所示:
<html>
<head>
<script>
/*window.frames[]可以通过下标或名称访问单独的frame*/
window.onload=function(){
var h1=window.frames["header"];//.document.getElementsByTagName('h1');
alert(h1);
}
</script>
</head>
<frameset rows="80,*">
<frame src="top.html" name="header"></frame>
<frameset cols="180,*">
<frame src="menu.html" name="menu"></frame>
<frame src="main.html" name="main"></frame>
</frameset>
</frameset>
</html>
解决方案
跨页面操作涉及域的概念(origin
),错误的意思是:未捕获的安全错误:阻止了一个域为 null
的 frame
页面访问另一个域为 null
的页面。代码运行时在本地直接用浏览器打开的,地址栏是 file:///
的页面,只需改为 localhost
访问就行。(运行本地服务环境,如 http-server
、anywhere
等)