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

(编辑:jimmy 日期: 2026/4/30 浏览:2)

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

在IE和Firefox下直接在ifame框架页的父窗口用子窗口的name调用子窗口的js函数都好使,在Chrome下不好使。
复制代码 代码如下:
<frameset rows="108,*,30" border="0" frameSpacing="0" frameBorder="0">
<frame name="header" scrolling="no" noresize src="/UploadFiles/2021-04-02/header"><frame id="memuMain" name="main" scrolling="no" noresize src="${ctx}/index.jsp"><frame name="footer" scrolling="no" noresize src="/UploadFiles/2021-04-02/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下只能用第二种写法,所以需要考虑多种浏览器兼容问题的时候应采用第二种写法。
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。