Chrome下ifame父視窗呼叫子視窗的問題
阿新 • • 發佈:2019-02-13
專案中遇到的一個瀏覽器不相容問題:
在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下只能用第二種寫法,所以需要考慮多種瀏覽器相容問題的時候應採用第二種寫法。