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>




郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。