`
shuaigg.babysky
  • 浏览: 571039 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

window.name实现跨域

 
阅读更多

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>

<h1>我是A页面</h1>

<div id="addArea">

</div>

<iframe id="bpage" frameborder="0" scrolling="no" width="300" height="150" src="http://b.com/kuayu/b/windowName.html"></iframe>

<script type="text/javascript">

var addHtml = function(str) {

var data = str;

if(data) {

var p = document.createElement('p');

p.innerHTML = data;

document.getElementById('addArea').appendChild(p);

}

};

var originName = window.name;

var detectName = function() {

var name = window.name;

if(name != originName) {

originName = name;

var obj = eval("(" + decodeURIComponent(name) + ")");

var funcName = obj.funcName;

var args = obj.args;

window[funcName].apply(window , args);

}

};

setInterval(detectName , 100);

</script>

 

 

<html>

<head>

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>

<script type="text/javascript" src="http://js.t.sinajs.cn/STK/js/gaea_1_19.js" ></script>

</head>

<body>

测试页面

<div id="colordiv">

<button action-type="setColor">red</button>

<button action-type="setColor">green</button>

<button action-type="setColor">yellow</button>

</div>

 

 

 

<script>

var node = STK.E("colordiv");

var delegate = STK.delegatedEvent(node);

delegate.add("setColor" , 'click' , function(spec) {

 

var color = spec.el.innerHTML;

var obj = {

funcName : "addHtml",

args : [color],

date : new Date() + 0

};

var setName = encodeURIComponent(STK.jsonToStr(obj));

 

window.top.name = setName;

 

});

 

</script>

</body>

</html>

分享到:
评论

相关推荐

    window.name解决跨域问题的文档

    window.name 解决跨域问题的文档 window.name 传输技术是 Thomas Frank 发明的,旨在解决 cookie 的一些劣势,例如每个域名 4 x 20 Kb 的限制、数据只能是字符串、设置和获取 cookie 语法的复杂等等。后来,Kris ...

    javascript跨域总结之window.name实现的跨域数据传输

    而window.name实现的跨域数据传输方法,可以在一定程度上绕过这个限制。 在window.name实现跨域数据传输的过程中,主要有三个关键的步骤: 1. 在应用页面(***/app.html)中创建一个iframe,设置其src属性为数据...

    跨域问题 之 window.name

    跨域通过`window.name`实现的基本流程如下: 1. **设置数据**:在源A的页面中,将需要传递的数据设置到当前`window.name`。 ```javascript window.name = JSON.stringify(data); ``` 2. **嵌入iframe**:在源A的...

    javascript使用window.name解决跨域问题第1/2页

    后来 Kris Zyp 在此方法的基础上强化了 window.name 传输 ,并引入到了 Dojo (dojox.io.windowName),用来解决跨域数据传输问题。window.name 传输技术的基本原理和步骤为: name 在浏览器环境中是一个全局/window...

    window.name解决跨域数据传输问题

    原文:http://research.microsoft.com/~helenw/papers/subspace.pdfwindow.name 传输技术,原本是 Thomas Frank 用于解决 cookie 的一些劣势(每个域名 4 x 20 Kb 的限制、数据只能是字符串、设置和获取 cookie 语法...

    利用window.name跨域解决方案Demo.rar

    本Demo实现了一个来自不同服务器的前端页面集成方案,页面间通过window窗口关系形成父子页面关系,跨域情况下父子页面间彼此看不见对方的DOM和js对象,无法直接进行数据交互。本方案从父页面到子页面数据传递采用url...

    javascript 打开页面window.location和window.open的区别.docx

    - **跨域限制**:使用 `window.location` 或 `window.open` 时需要注意同源策略,确保不会违反跨域限制。 #### 七、总结 综上所述,`window.location` 和 `window.open` 在JavaScript中都扮演着重要的角色,但在...

    window.open打开新窗口参数设置

    var newWindow = window.open(url, name, features, replace); ``` - **url**:必需参数,字符串类型,表示新窗口中要加载的文档的URL。 - **name**:可选参数,字符串类型,指定新窗口的名字,这个名称可以用来与`...

    js弹窗并返回值(window.open方式)

    这种方式可以跨域通信,是现代浏览器中实现窗口间通信的一种常见方法。 综上所述,`window.open`方法在JavaScript中提供了强大的功能,可以创建弹窗并实现与原窗口的交互。通过合理的事件监听和通信机制,我们可以...

    name-storage:通过 window.name 存储

    技术上,nameStorage 使用 window.name 存储数据。数据的生存周期为窗口会话的生存周期,同一个窗口可以通过 nameStorage 共享数据。出生证明window.name 非常有用,但不可滥用。为了规范、简单便利、安全的使用 ...

    window.open父子窗口传值问题

    var newWindow = window.open(url, name, features); ``` - `url`: 子窗口要加载的URL。 - `name`: 窗口的名字,可以用于后续引用。 - `features`: 一个字符串,包含新窗口的尺寸、位置和其他特性。 在Tomcat...

    什么是跨域解决方案有哪些.docx

    通过使用 window.name,可以实现跨域通信。 五、 postMessage 跨域 通过使用 postMessage,可以实现跨域通信。 六、 跨域资源共享(CORS) 通过设置 HTTP 头,可以实现跨域资源共享。 七、 nginx 代理跨域 ...

    windowName跨域详解.pdf

    通过proxy函数封装的window.name跨域技术,可以在a.html页面上访问到b.html页面的数据,即便它们运行在不同的域下。在该案例中,通过创建一个iframe来加载目标页面,并在加载完成后,将iframe重定向到同源页面,从而...

    完美解决iframe跨域问题

    **三、window.name跨域通信详解** 1. **原理**:`window.name`不受同源策略限制,可以在任何页面中读写,即使页面被刷新或导航至其他URL,`window.name`的值依然保留。因此,可以利用这一点在父页面和iframe之间...

    JavaScript使用HTML5的window.postMessage实现跨域通信例子

    JavaScript由于同源策略的限制,跨域通信一直是棘手的问题。... window.name 保存数据以及跨域 iframe 静态代理动态传输方案,充分的运用了window.name因为页面的url改变而name不改变的特性。 各种方案

    window.name代替cookie的实现代码

    然而,在某些情况下,由于Cookie的限制(如大小、数量以及跨域问题),开发者可能会寻找替代方案,`window.name`属性就是其中之一。`window.name`是一个特殊属性,它可以存储任意字符串,且在页面刷新或关闭后仍能...

    PHP下ajax跨域的解决方案之window.name实例分析

    下面我们将通过实例来分析如何利用`window.name`实现跨域通信。 首先,假设我们有两个网站,`www.a.com`和`www.b.com`,目标是在`www.a.com/a.html`中获取`www.b.com/data.html`的数据。 1. **www.b.com/data.html...

Global site tag (gtag.js) - Google Analytics