无法从Iframe访问父文档

时间:2013-10-19 05:12:04

标签: javascript html google-chrome iframe

我有一个主页,用于导航到 iframe

中的其他3个页面

主页: 1.html

其他3个页面: one.html two.html 3.html

代码

1.HTML

<html>
    <body>
        <div>
           <ul>
             <li style="float:left; margin:20px;"><a href="One.html" target="target">One</a></li>
             <li style="float:left; margin:30px;"><a href="Two.html" target="target">Two</a></li>
             <li style="float:left; margin:50px;"><a href="Three.html" target="target">Three</a></li>
           </ul>
           <iframe id="target"></iframe>
        </div>
    </body>
</html>

one.html

<html>
    <body onload="try{alert(parent.location.href);} catch(e){alert(e);}">
        1.html.
    </body>
</html>

但是显示parent - 文档的位置存在问题。它正在发出警告信息:

SecurityError: Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.

任何人都可以在此错误的上下文中解释消息中使用的术语的含义,或者只是为什么会发生这种情况???

N.B。:没有使用服务器

1 个答案:

答案 0 :(得分:2)

Chrome严格假定本地文件之间没有连接。

在Mac上,您可以从终端启动Chrome,如下所示:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --allow-file-access-from-files

它会起作用,但最好的办法是使用网络服务器。