美文网首页
js跨域传值

js跨域传值

作者: 进击的三文鱼 | 来源:发表于2019-08-24 17:10 被阅读0次

    iframe嵌套服务器页面,怎么实现跨域 父页面与iframe页面的js函数互相调用?
    今天在用子页面调用父页面时出现跨域问题 报错信息 from accessing a cross-origin frame
    最终找到一个很简单的处理方式 代码也很少
    使用技术是通过HTML5 postMessage
      不同域之间的跨域请求 使用postMessage。postMessage是HTML5新增的方法,简单易用高大上

       function showShopCarNum(num) {
      
                window.parent.postMessage(num, '*');
            }
    

    父页面使用监听方法 实现父页面与子页面之间的通信
    //监听子页面实现通信

    window.addEventListener('message', function (e) {
        var data = e.data;
        $("#shopCarNum").val(data);
    }, false);
    

    后期发现 window.parent.postMessage(num, '*'); 存在安全问题
    要指定传输的地址 * 是所有域名都可以接受 不安全
    所以改成

    window.parent.postMessage(num, 'http://localhost:8081');
    

    这样只有http://localhost:8081的父域可以接收

    相关文章

      网友评论

          本文标题:js跨域传值

          本文链接:https://www.haomeiwen.com/subject/quyqectx.html