• cross_domain


    要传参数的页面

    引用cross_domain.js  这个是另外一个工程(m)的地址

    <script type="text/javascript" src="http://localhost:8080/m/cross_domain.js"></script>

    在这里我是通过点击事件,,传值过去   跳转①

     function goToCm(obj){
            var appid = $(obj).attr("appid");
            var name = $(obj).attr("_name");
            var _url = $(obj).attr("_url");
            var url = "name="+name+"@"+_url +"@"+ appid;  //在这里通过@来截取
            reloadSmartFrame(url);  -----这里调用m工程的方法
        }

    ①   这里是m工程的js     cross_domain.js

    window.onload = function() {
        var smartFrame = document.createElement("iframe");
        smartFrame.setAttribute("id", "smartFrame");
        smartFrame.setAttribute("style", "display: none");
        var body =  document.getElementsByTagName("body")[0];
        body.appendChild(smartFrame);
        document.getElementById('smartFrame').src = "http://www.smart.com:8080/cm/cross_domain.jsp";
    }
    
    
    function reloadSmartFrame(url) {   --进来执行这方法(方法的前提是在页面中添加一个iframe)
        document.getElementById('smartFrame').src = "http://www.smart.com:8080/cm/cross_domain.jsp?"+url;
    }

    cross_domain.jsp

    <script type="text/javascript"> decodeURI(decodeURI())转乱码  ---中文过来,出现乱码             ---abc  ①  @ df ②  @ fg    ③
        window.onload = function(){
            var text = decodeURI(decodeURI(window.location.href)).split('=')[1];  --拿到第一个等号 【1】 1代表=号后面的值
            var textName = decodeURI(decodeURI(text.split('@')[0]));     --同理,,,第一个@前面的值①
            var textUrl = decodeURI(decodeURI(text.split('@')[1]));    --第一个@后面的值
            var textAppId = decodeURI(decodeURI(text.split('@')[2]));     
           parent.parent.crossdomainCallback(textName, textUrl, textAppId);    parent.parent 子页面找老爸的老爸的这个方法
        }
    </script>

    最后页面的js

     function crossdomainCallback(textName, textUrl, textAppId) {
            /*11-2页签增加样式*/
            var appid = textAppId, src_link = textUrl, mc_link = textName, app_xl = "xl";
                        var xn = '#wrap_' + appid, label_id = '#' + appid;
            console.info("1"+ textAppId);
            console.info("2"+ textUrl);
            console.info("3"+ textName);
                     $("body").removeClass("qping_work");
                     $("body").attr("style", "overflow:hidden");
            if ($(xn).size() == 0) {
                $('#wrap_gzt').after(
                        '<div class="container" id="wrap_' + appid + '">' +
                        '<iframe class="main_iframe yc" width="100%" frameborder="0" height="100%" scrolling="yes" 
    onreadystatechange="stateChangeIE(this)" onload="stateChangeFirefox(this)" name="' + appid + '_callframe" src="' + src_link + '">' + '</iframe>' + '</div>' ); $(".mask").show(); $(".progress.progress-striped.active.ex").show(); } else { $(xn).find("iframe").removeClass("yc"); $(".mask").hide(); $(".progress.progress-striped.active.ex").hide(); } $(xn).siblings(".container").addClass("yc_div"); $(xn).removeClass("yc_div"); if ($(label_id).size() == 0) { $("#headAdd").before( '<label class="ui-item ui-tab-item J_menuTab" id=' + appid + '>' + '<div lang=' + src_link + ' appid=' + appid + ' app_xl=' + app_xl + '>' + mc_link + '</div>' + '<i class="menu-remove"></i></label>' ); } $(".work_ico").parent().removeClass("ui-tab-item-selected"); $(label_id).addClass("ui-tab-item-selected cjxz").siblings("label.ui-item").removeClass("ui-tab-item-selected cjxz"); /*11-2页签增加样式*/ }
  • 相关阅读:
    C语言强化(五)输出一串数中最小的 k 个
    C语言强化(四)求和为某个值的二叉树路径
    C语言强化(三)求子数组的最大和
    C语言强化(二)设计可以求最小元素的栈
    【转】深入理解Major GC, Full GC, CMS
    一步步优化JVM六:优化吞吐量
    一步步优化JVM五:优化延迟或者响应时间
    一步步优化JVM四:决定Java堆的大小以及内存占用
    一步步优化JVM三:GC优化基础
    一步步优化JVM二:JVM部署模型和JVM Runtime
  • 原文地址:https://www.cnblogs.com/xuerong/p/6102292.html
Copyright © 2020-2023  润新知