JavaScript iframe数据共享接口实现方法
在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','https://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对象;
相关文章
JavaScript中的for...of和for...in循环容易遇到的问题及解决方法总结
在 JavaScript 编程中,for...of 和 for...in 是常用的循环语法,但它们在使用时可能会引发一些意想不到的问题,本文将分享我在使用这两种循环时所遇到的坑和经验,需要的朋友可以参考下2023-08-08
javascript跨域方法、原理以及出现问题解决方法(详解)
javascript出于安全方面的考虑,不允许跨域调用其他页面的对象。但是在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦。跨域简单的理解就是因为javascript同源策略的限制,a.com域名下的js无法操作b.com 或者是c.a.com域名下的对象2015-08-08


最新评论