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下只能用第二种写法,所以需要考虑多种浏览器兼容问题的时候应采用第二种写法。