Posted in Javascript onMarch 17, 2014
项目中遇到的一个浏览器不兼容问题:
在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下只能用第二种写法,所以需要考虑多种浏览器兼容问题的时候应采用第二种写法。
Chrome下ifame父窗口调用子窗口的问题示例探讨
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@