js Postmessage 跨域传输数据的简单应用

www.test.com

<?php
@ini_set(‘default_charset‘, ‘utf-8‘);
?>
<input type="text" value="send" id="input" />
<input type="button" value="send" id="button" />
<script type="text/javascript" src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<script>
    document.getElementById(‘button‘).onclick = function () {
        var command = "$(window.document.body).append(‘数据‘)";
        window.parent.postMessage(‘run:‘ + command, document.referrer);
    };
</script>

另外域名的 www.test2.com

<?php
@ini_set(‘default_charset‘, ‘utf-8‘);
?>
<iframe src="http://www.test.com/test2.php"></iframe>
<script type="text/javascript" src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<script>
    var rootUrl = ‘http://www.test.com/‘;
    $(window).on(‘message‘, function (e) {
        var command = e.originalEvent.data, origin = e.originalEvent.origin;
        if ((rootUrl == origin || rootUrl == origin + ‘/‘) && typeof command == ‘string‘ && command.substr(0, 4) == ‘run:‘) {
            command = command.substr(4);
            eval(command);
        }
    });
</script>
时间: 2024-10-15 06:10:24

js Postmessage 跨域传输数据的简单应用的相关文章

html5的postmessage实现js前端跨域访问及调用解决方案

关于跨域访问,使用JSONP的方法,我前面已经demo过了,具体见http://supercharles888.blog.51cto.com/609344/856886,HTML5提供了一个非常强大的API,叫postMessage,它其实就是以前iframe的进化版本,使用起来极其方便,这里举个实验例子: 我们依旧按照与上文相同的设定,假定我们有2个Domain Domain1: http://localhost:8080  它上面有个应用叫HTMLDomain1,并且有个页面叫sender.

js调用跨域

web aapi 初体验 解决js调用跨域问题 跨域界定 常见跨域: 同IP不同端口: http:IP:8001/api/user     http:IP:8002/api/user 不同IP不同端口: http://172.28.20.100:8001/api/user    http://172.128.20.100:8002/api/user 基本介绍 web api出现的时间也不短了,一直没机会运用,很多公司还是用的wcf 和webservice.目前常用的web api场景是一个接口多

js&amp;jquery跨域详解jsonp,jquery并发大量请求丢失回调bug

URL 说明 是否允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.js http://www.a.com/script/b.js 同一域名下不同文件夹 允许 http://www.a.com:8000/a.js http://www.a.com/b.js 同一域名,不同端口 不允许 http://www.a.com/a.js https://www.a.com/b.js 同一域名,不

ASP.NET中JSONP的两种实现以及其他跨域解决方案的简单实现

ASP.NET中JSONP的两种实现以及其他跨域解决方案的简单实现  jQuery中JSONP的两种实现方式: 都很简单,所以直接上代码! 前台代码如下: <script type="text/javascript"> $(function () { alert("start..."); // 第一种方式 $.ajax({ type: "get", url: "http://localhost:9524/Home/Proce

js之跨域

什么是跨域? 协议+域名+端口 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的. 什么是同源策略? 同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS.CSFR等攻击.所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源. 同源策略限制以下几种行为: 1.) Cookie.LocalSt

将微博或者qq空间的说说同步至博客园 wcf+js(ajax)跨域请求(1)

前天刚写了篇文章使用Bootstrap为你的博客园自定义轮播图片(今天将图片加载的顺序调整了下,不在访问的时候直接加载,而是页面加载最后在脚本里面动态添加dom元素),虽说技术含量不怎么高,但是大家还算感兴趣.其实对博主来说最关键是博客的积分在涨.所以趁热打铁,再来一篇使用wcf+js ajax跨域请求数据同步空间说说的帖子. 因为是请求qq说说的数据,所以要登陆我的qq,这个很麻烦,总不能让每个访客都登陆的qq,然后把数据取出来吧,而且qq也没有相关的接口提供,登陆的时候还要处理验证码.所以这

js 利用iframe和location.hash跨域解决办法,java图片上传回调JS函数跨域

奶奶的:折腾了我二天,终于解决了!网上有很多例子. 但跟我的都不太一样,费话不多说了,上图   上代码: IE ,firefix,chrome 测试通过 js :这个主页面,部分代码, function submitUpload(id){ $("#imgSrc" + id +"").attr("alt", "图片上传中--"); var imgID = id; if(id>0){ imgID = 1; } var for

Node.js express 跨域问题

Node.js express 跨域问题解决了这个问题,那真是太爽了! 跨域问题主要在header上下功夫 首先提供一个w3c的header定义 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html 再提供一个网友提供的header详解 http://kb.cnblogs.com/page/92320/ 这两个有助于帮助大家理解header的类型和作用, 但是遗憾的是跨域相关的两个header属性我都没有找到相关的定义, 下面直接告诉大家

js执行跨域请求

//js执行跨域请求 var _script = document.createElement('script'); _script.type = "text/javascript"; _script.src = "http://api.map.baidu.com/location/ip?ak=Z90WfgUtDDPnr2pfG4yIbkwLEmyoeetx&callback=f"; document.head.appendChild(_script); f