在iframe与父窗口或者与子窗口传递数据是一个麻烦的事情,如果我们能够写一个一劳永逸的接口那就再方便不过了,下面就来简答介绍一下如何实现此功能。原理就是将数据缓存早window.top这个窗口,这样无论子窗口父窗口的层次如何变化,数据总是存在不会变化的。
代码如下:
var share={ data:function(name,value){ var top=window.top, cache=top['_CACHE']||{}; top['_CACHE']=cache; return value?cache[name]=value:cache[name]; }, removeData:function(name){ var cache=window.top['_CACHE']; if(cache&&cache[name]) { delete cache[name]; } } }; share.data('mayi','http://www.jb51.net');
上面的代码实现了我们的要求,代码比较简单,大家可以自行分析一下,如有任何问题可以跟帖留言。
大家知道JS中Iframe之间是怎么传值的吗?下面给大家简单介绍下。
1.在iframe子页面中获取父页面的元素:
a>window.parent.document这个是获取父页面document中的对象;
b>如果要获取父页面js中的方法:window.parent.xxxx();xxxx()为方法;
2.在父页面中获取iframe子页面中的元素:
a>
var child = document.getElementByIdx_x("mainFrame").contentWindow;//mainFrame这个id是父页面iframe的id
child.document;//获取子页面中的document对象;