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

2014-03-17 37

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

在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下只能用第二种写法,所以需要考虑多种浏览器兼容问题的时候应采用第二种写法。

展开阅读全文

更多Javascript文章

Extjs 继承Ext.data.Store不起作用原因分析及解决
Apr 15 38
莱鸟介绍javascript onclick事件
Jan 06 36
jQuery常用的一些技巧汇总
Mar 26 40
微信小程序中用WebStorm使用LESS
Mar 08 41
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
Aug 10 144
详解如何在angular2中获取节点
Nov 23 36
Js图片点击切换轮播实现代码
Jul 27 37
手机访问当前页面