当前位置: 主页 > 日志 > WEB UI >

iframe页通过JS修改父页面元素值 & 调用父页面JS函数的方法

 修改父页面的值可以这样:

window.parent.document.getElementById('username').value='redice';

调用父页面的JS函数可以这样:

window.parent.test();

 

 

 

实例代码如下:

 


<!--父页面-->
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script language="javascript">
  /*父页面的test函数*/
  function test()
  {
  alert('父页面的test函数被调用!');
  }
  </script>
<input  type="text" name="username" id="username" value="" />
  <br/>
<iframe src="frame.html" width="500" height="400">

 


<!--iframe页面-->
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<input type="button"  onclick="window.parent.document.getElementById('username').value='redice';" value="修改父页面文本框的值" />
<input type="button"  onclick="window.parent.test();" value="调用父页面的test函数" />

 

上述代码已通过IE,FF,Chrome测试。

注意:在本地直接用IE和FF打开测试正常,但用Chrome直接打开测试无效。网上有人说是Chrome不支持window.parent。后来看到stackoverflow上的一个类似的提问,原来Chrome不允许采用file:协议引用父窗口,放到Web容器中测试就正常了。

原帖如下:

http://stackoverflow.com/questions/2550858/how-to-call-parent-window-function-in-chrome-browser

It seems that Chrome browser doesn't permit to reference a parent window accessing pages with the file:protocol. In fact I tested above code with files on my machine, so with a url likefile:///C:/mytests/mypage.html . If I put that page in a Web Server, it all works as expected.

 

 

[日志信息]

该日志于 2010-12-15 00:46 由 redice 发表在 redice's Blog ,你除了可以发表评论外,还可以转载 “iframe页通过JS修改父页面元素值 & 调用父页面JS函数的方法” 日志到你的网站或博客,但是请保留源地址及作者信息,谢谢!!    (尊重他人劳动,你我共同努力)
   
验证(必填):   点击我更换验证码

redice's Blog  is powered by DedeCms |  Theme by Monkeii.Lee |  网站地图 |  本服务器由西安鲲之鹏网络信息技术有限公司友情提供

返回顶部