码迷,mamicode.com
首页 > Web开发 > 详细

html5跨域数据传递(postMessage)

时间:2015-01-21 15:04:48      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

在html5中有个支持跨域传递的方法postMessage,可是实现iframe之间的数据传递!

代码如下:数据发送页面

<!DOCTYPE HTML>
<html lang="en">
<head>
    <meta charset="utf-8"/>
    <meta name="copyright" content=""/>
    <meta name="keywords" content=""/>
    <meta name="description" content=""/>
    <title></title>
</head>
<body>
    <div class="color">
        <input type="text" value="" class="getColor"/>
        <input type="button" id="button" value="发送颜色" />
    </div>
     <iframe id="child" src="http://localhost/send/index.html" width="400" height="300"></iframe>
</body>
</html>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script>
    $(function(){
        $("#button").click(function(){
            var color = $(".getColor").val().toString();
            window.frames[0].postMessage(color,http://localhost/send/index.html);
        });
    });
</script>

数据接收页面

<!DOCTYPE HTML>
<html lang="en">
<head>
    <meta charset="utf-8"/>
    <meta name="copyright" content=""/>
    <meta name="keywords" content=""/>
    <meta name="description" content=""/>
    <title></title>
</head>
<body>
    <div id="color" style="width:400px;height:200px;">    
    </div>
</body>
</html>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script>
    $(function(){
        var color = $("#color");
            window.addEventListener(message,function(e){
                var s_color=e.data;
                color.css(background-color,#+s_color);
            },false);
    });
</script>

当在发送页面改变颜色值的时候,嵌入的iframe的页面背景色直接就被修改了,效果很好!

html5跨域数据传递(postMessage)

标签:

原文地址:http://www.cnblogs.com/shizhouyu/p/4238816.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!