1. 程式人生 > >Chrome下ifame父視窗呼叫子視窗的問題

Chrome下ifame父視窗呼叫子視窗的問題

專案中遇到的一個瀏覽器不相容問題:

在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下只能用第二種寫法,所以需要考慮多種瀏覽器相容問題的時候應採用第二種寫法。