zoukankan      html  css  js  c++  java
  • 网站页面跨域调用

    // 跨域通信,供父类调用
    window.addEventListener("message",function(obj){
        var data = obj.data;
        var action = data.action;
        var data = data.data;
        if(action=='showPointByCode' ){
            if(typeof(showPointByCode)=='function'){
                showPointByCode(null,data.type,data.point_code);
            }
        }
    });
    
    // 下发任务事件
    function sendTask(dom){
        var name = $(dom).attr("data-name");
        var code = $(dom).attr("data-code");
        var data = {"code": code,"name": encodeURIComponent(name),"token":token};
        var message = {'data': data,action: 'sendTaskFromMap'};
        var targetWindow= window.parent; // 注意此处
       targetWindow.postMessage(message,"http://接收方IP:端口"); }

    如果需要从其它项目接收信息,需要添加window.addEventListener注册监听接收

    如果需要将项目发送给其它项目,需要使用postMessage进行发送,注意发送的对象,如果发给自己的父页面,使用window.parent,如果发送给自己的子页面iframe,则document.getElementById('myIFrame').contentWindow

    确保你使用的是iframe的contentWindow属性,而不是节点对象。

     对addEventListener和postMessage的使用参考:

    https://developer.mozilla.org/zh-CN/docs/Web/API/Window/postMessage

    https://developer.mozilla.org/zh-CN/docs/Web/API/EventTarget/addEventListener

  • 相关阅读:
    hud 1397
    hdu 1211
    hdu 1124
    hdu 1104
    1788
    hdu 1796
    sdut 2169
    hdu 1019
    $http post 取不到数据
    sql
  • 原文地址:https://www.cnblogs.com/TheoryDance/p/14173522.html
Copyright © 2011-2022 走看看