Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2335624
  • 博文数量: 168
  • 博客积分: 3184
  • 博客等级: 中校
  • 技术积分: 3959
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-12 18:57
文章存档

2019年(1)

2018年(2)

2017年(3)

2016年(15)

2015年(10)

2014年(60)

2011年(1)

2010年(76)

分类: Web开发

2014-05-21 15:27:57

1、iframe子页面调用父页面js函数子页面调用父页面函数只需要写上window.praent就可以了。比如调用a()函数,就写成:


[javascript] view plaincopy
  1. window.parent.a();  

子页面取父页面中的标签中的值,比如该标签的id为“test”,则:


[javascript] view plaincopy
  1. window.parent.document.getElementById("test").value;  

jQuery方法为:


[javascript] view plaincopy
  1. $(window.parent.document).contents().find("test").val();  
    但是我在chrome浏览器下却发现此方法无效了!查了半天才了解,在chrome 5+中,window.parent无法在file://协议中运行,但是发布了之后http://协议下是可以运行的。此方法支持ie、firefox浏览器。

2、iframe父页面调用 子页面js函数

这个就稍微复杂一些,下面的方法支持ie和firefox浏览器:


[javascript] view plaincopy
  1. document.getElementById('ifrtest').contentWindow.b();  

jQuery方法为:

[javascript] view plaincopy
  1. $('#ifrtest')[0].contentWindow.b();  

子页面取父页面中的标签中的值,比如该标签的id为“test”,则:

document.getElementById("test").value;

注:ifrtest是iframe框架的id,b()为子页面js函数。contentWindow属性是指定的frame或者iframe所在的window对象,IE下可以省略。

阅读(1715) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~