2

我有一个应用程序创建 HTML 供用户在他们的本地机器上查看(不是作为网站托管)。这目前适用于 IE 和 FireFox,但 Chrome 不喜欢我使用相互交互的框架(因此,当您单击一个项目时,我将一个新的 html 文件加载到内容框架中的导航框架)。Chrome 给了我不安全的 javascript 尝试 - 域必须匹配等。所以我创建了一个小示例,它在同一目录中包含所有必需的文件(并且应该在同一个域中?),但我仍然遇到问题。

我的示例代码在起始 html 页面中有 2 个 iFrame,第一个 iFrame 有一个按钮,可以更改第二个 iFrame 的源 - 相当简单。

我试过使用沙盒属性,但这些都没有帮助。

所以这是我的代码:

开始.htm

<body>
  <iframe id="fheader" src="NewHeader.htm" name="fheader" sandbox="allow-scripts allow-same-origin   allow-forms allow-top-navigation"></iframe>
  <iframe id="fbody" src="BodyLime.htm" name="fbody" sandbox="allow-scripts allow-same-origin allow-forms allow-top-navigation"></iframe>
</body>

头文件.htm

function myClick() {

   var myFrame = parent.document.getElementById("fbody");  

   myFrame.setAttribute("src", "BodyRed.htm");

}

<body style="background-color:Aqua">    
    <input id="Button1" onclick="myClick()" type="button" value="Change your neighbours colour"/>    
</body>

BodyRed.htm 和 BodyLime.htm 只是设置了背景颜色以显示代码是否有效的简单页面。

我也尝试使用下面的代码访问框架,但是一旦我尝试访问框架的任何属性,我就会得到同样的错误:

  var myfbody = parent.fbody; 

希望有人可以提供帮助。

4

0 回答 0