Chrome下ifame父窗口调用子窗口的问题示例探讨

2019-12-23,,,,

项目中遇到的一个浏览器不兼容问题:

在IE和Firefox下直接在ifame框架页的父窗口子窗口的name调用子窗口的js函数都好使,在Chrome下不好使。
复制代码 代码如下:
<frameset rows="108,*,30" border="0" frameSpacing="0" frameBorder="0">
<frame name="header" scrolling="no" noresize src="base/header" />
<frame id="memuMain" name="main" scrolling="no" noresize src="${ctx}/index.jsp" />
<frame name="footer" scrolling="no" noresize src="base/footer" />
<noframes>
<body>
<p>此网页使用了框架,但您的浏览器不支持框架。</p>
</body>
</noframes>
</frameset>

在IE和Firefox下可以这样写:
复制代码 代码如下:
function changeMenu(menu_id){
header.window.changeMenu(menu_id);
}

或者是:
复制代码 代码如下:
function changeMenu(menu_id){
frames[0].changeMenu(menu_id);
}

都可以 ,

在Chrome下只能用第二种写法,所以需要考虑多种浏览器兼容问题的时候应采用第二种写法。

您可能感兴趣的文章:

  • 在firefox和Chrome下关闭浏览器窗口无效的解决方法
  • 用DIV完美模拟createPopup 弹出窗口(北冥有鱼修正版),支持Firefox,ie,chrome
  • JavaScript无提示关闭窗口(兼容IE/Firefox/Chrome)
  • Chrome浏览器的alert弹窗禁止再次弹出后恢复的方法

《Chrome下ifame父窗口调用子窗口的问题示例探讨.doc》

下载本文的Word格式文档,以方便收藏与打印。