要传参数的页面

引用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页签增加样式*/
}

cross_domain的更多相关文章

  1. JS 跨域问题常见的五种解决方式

    一.什么是跨域? 要理解跨域问题,就先理解好概念.跨域问题是由于javascript语言安全限制中的同源策略造成的. 简单来说,同源策略是指一段脚本只能读取来自同一来源的窗口和文档的属性,这里的同一来 ...

  2. 微博爬虫“免登录”技巧详解及 Java 实现(业余草的博客)

    一.微博一定要登录才能抓取? 目前,对于微博的爬虫,大部分是基于模拟微博账号登录的方式实现的,这种方式如果真的运营起来,实际上是一件非常头疼痛苦的事,你可能每天都过得提心吊胆,生怕新浪爸爸把你的那些账 ...

  3. Ajax 的几种方法应用

    一,js实现ajax异步请求,简单例子 try.jsp <%@ page language="java" import="java.util.*" pag ...

随机推荐

  1. (八)数据呈现——一图胜千言<完结>

    数据分析师就像厨师一样.厨师的工作有5步:下单.备料.切配.烹饪.打荷.数据分析师的工作也有5步.呈现数据就好像打荷.厨师在把菜肴端给客人之前要做盘饰美化,让菜肴精致美观,这个工作就是打荷.同样,数据 ...

  2. HTML中使图片居中显示

    注:imageId为图片id<style type="text/css"> #imageId{ display:block; position:relative; ma ...

  3. python排序之二冒泡排序法

    python排序之二冒泡排序法 如果你理解之前的插入排序法那冒泡排序法就很容易理解,冒泡排序是两个两个以向后位移的方式比较大小在互换的过程好了不多了先上代码吧如下: 首先还是一个无序列表lis,老规矩 ...

  4. 用java String类的getBytes(String charsetName)和String(byte[] bytes, String charsetName)解决乱码问题

    Java中String的数据是如何存储的,查看源代码就可以知道,String的数据是存储在char[] value这样一个成员变量中的,char类型的大小在java中是2个字节 我们还知道,现在普遍使 ...

  5. [No0000A4]DOS命令(cmd)批处理:替换字符串、截取字符串、扩充字符串、获取字符串长度

    1.替换字符串,即将某一字符串中的特定字符或字符串替换为给定的字符串.举例说明其功能:========================================= @echo off set a ...

  6. JAVA中使用FTPClient实现文件上传下载实例代码

    一.上传文件 原理就不介绍了,大家直接看代码吧 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ...

  7. [干货]Chloe官网及基于NFine的后台源码毫无保留开放

    扯淡 经过不少日夜的赶工,Chloe 的官网于上周正式上线.上篇博客中LZ说过要将官网以及后台源码都会开放出来,为了尽快兑现我说过的话,趁周末,我稍微整理了一下项目的源码,就今儿毫无保留的开放给大家, ...

  8. underscore 源码解读之 bind 方法的实现

    自从进入七月以来,我的 underscore 源码解读系列 更新缓慢,再这样下去,今年更完的目标似乎要落空,赶紧写一篇压压惊. 前文 跟大家简单介绍了下 ES5 中的 bind 方法以及使用场景(没读 ...

  9. mac mysql5.7重置root密码

    先停止mysql服务 //停止表权限 cd /usr/local/mysql/bin/ ./mysqld_safe --skip-grant-tables & 直接mysql 进入数据库 up ...

  10. 【VS】vs修改大小写快捷键

    选中一段英文 改成小写:Ctrl+U 改成大写:Ctrl+Shift+U