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の下では第二の書き方しかできません。したがって、複数のブラウザ対応問題を考慮する必要がある場合は、第二の書き方を採用します。