ie8下iframe之间互相调用取值

现在做b/s项目,基本都支持到ie8.就在写地图的时候,需要iframe的各个js互相调用。这个我真的是郁闷,ie8就是个坑,和别的浏览器不兼容。不过还好,找了好久,网上找到了解决办法,在此做下记录,以免以后丢失。

 

//取id为main的iframe中mapObj的值
window.parent.window.document.getElementById("main").contentWindow.mapObj;
//取name为main的iframe的mapObj的值
parent.main.mapObj;
//调用id为main的iframe中function()
window.parent.window.document.getElementById("main").contentWindow.function();
//调用name为main的iframe中function()
parent.main.function();
//取id为main的iframe的mapObj的值
$(window.parent.document).contents().find("#main")[0].contentWindow.mapObj;
//调用id为main的iframe的function()
$(window.parent.document).contents().find("#main")[0].contentWindow.function();

解析理解:

1、先获取当前页的上层的window对象。

2、在此对象 中取要操作的iframe(可以用js或者jQuery实现通过id、name、class)

3、在取当前对象的contentWindow属性,就是要操作的那个iframe的window对象了。

4、然后就可以点调用方法或者取值了

 

猜你喜欢

转载自linhexiao.iteye.com/blog/2287336