繁体   English   中英

在IE8 / IE9的HTML框架之间共享JS对象

[英]Sharing JS objects between HTML frames in IE8/IE9

我必须将对IE8 / IE9的支持引入到专门针对IE6构建的应用程序中,该应用程序大量使用HTML框架(框架集)。 应用程序具有许多使用“ navigator.PropertyABC”的JavaScript代码。 此处,“ PropertyABC”是在一个帧中初始化并在许多其他帧中使用的对象。 这在IE6中有效,因为“导航器”对象似乎在IE6中在所有框架之间共享。 它也可以与IE7兼容模式一起使用。 但是它在IE8 / IE9中不起作用。 有些框架嵌套在其他框架中,所以它是多层的。 样例代码:

<html>
  <frameset rows="50%,50%">
    <frame name="a" src="frame1.html">
    <frame name="b" src="frame2.html">
  </frameset>
</html>

frame1.html:

<html>
  <body>
    <script type="text/javascript">
        navigator.testingSharedVariable ="1st frame!";
    </script>
  </body>
</html>

frame2.html:

<html>
  <body>
    <input type="button" onclick="alert(navigator.testingSharedVariable)">
  </body>
</html>

在IE6中单击按钮时-出现“第一帧!”警报 被提出。 在IE8 / IE9上-“未定义”。

还有什么我可以用来在框架之间共享对象而不是“导航器”的? 不需要其他浏览器支持,仅需要IE8 / IE9。

使用标准的全局对象– window 在您的情况下,共享的全局对象将是window.top (本身就是window )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM