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

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

展开阅读全文

更多Javascript文章

javascript数组组合成字符串的脚本
Jan 06 21
jQuery插件Validate实现自定义校验结果样式
Jan 18 24
Javascript同时声明一连串(多个)变量的方法
Jan 23 35
jquery easyui dataGrid动态改变排序字段名的方法
Mar 02 29
node.js(express)中使用Jcrop进行图片剪切上传功能
Apr 21 21
Angular5中提取公共组件之radio list的实例代码
Jul 10 22
详解Express笔记之动态渲染HTML(新手入坑)
Dec 13 13
手机访问当前页面