1

我有一个主页用于导航到其他 3 个页面iframe

主页:1.html

其他 3 页:one.htmltwo.html3.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>

一个.html

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

但是显示parent-document 的位置时出现问题。它发出如下警告消息:

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

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

注意:没有使用服务器

4

1 回答 1

2

Chrome 相当严格地假设本地文件之间没有连接。

在 Mac 上,您可以像这样从终端启动 Chrome:

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

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

于 2013-10-19T06:09:07.700 回答