跨域访问变量的方法
来源:互联网 发布:java bufferreader 编辑:程序博客网 时间:2024/06/10 00:05
问题:
页面A 的domain为:www.a.com。A页面里面嵌套了一个B页面(www.B.com)。
B页面里面有多个tab,每个tab,会引起B页面的高度改变。所以当页面tab改变的时候,需要通知A页面,并让A页面中的iframe 高度随之改变。
解决办法:
B页面要跟A页面通信,而A、B页面的域名不一样。所以我们让B页面嵌套一个iframe 页面C。这个iframe 页面的域名同A,形如(www.aa.a.com)。
这样,B页面可以同C通信,然后C再同A通信。
B 页面需要加入的脚本大致如下:
var oldValue = 0 ;
setInterval(function(){ var newValue = document.body.offsetHeight||document.body.scrollHeight;
if(newValue != oldValue){
iframe.src = "www.aa.a.com"+"#"+'h';
}});
B页面不停地侦听页面是否发生高度变化,如果发生变化,通过更改C页面的src的#后的参数来传递值。注意#改变不会引起iframe重新加载
C页面响应地解析这个地址,通过改变A页面的window.name 将值传给A页面
C页面的js大致流程如下:
var pparentWindow = window.top.top;
var oldValue = 0;
setInterval(function(){
var newValue = location.hash;
if(newValue!=oldValue){
oldValue = newValue;
pparentWindow.name = newValue;
}
},100);
同理,A页面通过setInterval来侦听变化
这样A就得到B页面的变量了
- 跨域访问变量的方法
- 变量的作用域、生命周期、初始化和访问方法
- PHP之 访问表单变量的方法
- 静态变量和静态方法的访问
- 反射-访问类变量的方法
- 实例方法和类方法的访问哲学 实例变量和类变量的访问哲学
- Java 方法的内部类访问 方法的局部变量
- 相同域下,父页面和iframe之间方法和变量的访问
- 相同域下,父页面和iframe之间方法和变量的访问
- JavaBean变量被JSP访问的三种方法
- 线程函数中访问成员变量的方法
- Java中方法和成员变量的访问控制
- JAVASCRIPT访问父窗口的变量或方法
- 方法中的内部类只能访问final类型的变量
- 线程函数中访问成员变量的方法(转)
- vbscript访问函数外类变量和全局变量的方法
- 访问C++类对象中私有成员变量的方法
- C++访问类中私有成员变量的方法
- 存取像素值操作汇总
- 学习javascript闭包
- Microsoft Sync Framework
- LINUX下VI编辑器的常用命令
- linux下select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
- 跨域访问变量的方法
- 二叉排序树的建立和树中节点的查找删除操作
- IplImage 结构
- WORD2007下多级菜单设置-------经常会用的
- rcp(插件开发)CNF 自定义视图-右键菜单-的简单实现
- jiglibflash and AwayPhysics for car
- Bex Query variable Type 说明
- RMAN-06091: no channel allocated for maintenance(of an appropriate type)
- Using Binary I/O with Array-Based Streams