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页签增加样式*/
}
cross_domain的更多相关文章
- JS 跨域问题常见的五种解决方式
一.什么是跨域? 要理解跨域问题,就先理解好概念.跨域问题是由于javascript语言安全限制中的同源策略造成的. 简单来说,同源策略是指一段脚本只能读取来自同一来源的窗口和文档的属性,这里的同一来 ...
- 微博爬虫“免登录”技巧详解及 Java 实现(业余草的博客)
一.微博一定要登录才能抓取? 目前,对于微博的爬虫,大部分是基于模拟微博账号登录的方式实现的,这种方式如果真的运营起来,实际上是一件非常头疼痛苦的事,你可能每天都过得提心吊胆,生怕新浪爸爸把你的那些账 ...
- Ajax 的几种方法应用
一,js实现ajax异步请求,简单例子 try.jsp <%@ page language="java" import="java.util.*" pag ...
随机推荐
- JS框架
s框架就是将常用的方法进行封装,方便调取使用.一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计.协作构件之间的依赖关系.责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方 ...
- IBM Bluemix体验:Containers进阶
上一篇中介绍了Bluemix的Containers服务以及如何使用自定义的docker image创建一个容器实例并对外提供服务.除了自定义镜像之外,Bluemix Containers还可以使用Do ...
- HDOJ 2393. Higher Math
Higher Math Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- Re 模块
re模块提供方法如compile, search, findall, match和其他的方法.这些函数是使用REGEX语法建立了一个模式来处理文本的. 第一个方法:search. 一个基本的搜索工作原 ...
- 自动化运维工具ansible部署以及使用
测试环境master 192.168.16.74webserver1 192.168.16.70webserver2 192.168.16.72安装ansiblerpm -Uvh http://ftp ...
- websocket初探
本文尚未完成,在此只写一些句子,以后慢慢整理. 一.参数 IllegalArgumentException No payload parameter present on the method[mes ...
- 【wpf】缓存
1.引用 System.Runtime.Caching 2.源 msdn //实例化MemoryCache类 ObjectCache cache = MemoryCache.Default; //读取 ...
- 一个c#的输入框函数
private static string InputBox(string Caption, string Hint, string Default) { Form InputForm = new F ...
- Elasticsearch索引自动套用模板
公司ELK系统目前的设置是每月自动将日志信息记录至新的索引中,将日志数据按月分索引保存,在扩展的ELK架构中,利Logstash对接rabbitmq,获取日志消息,自动持久化至Elasticsearc ...
- 动态生成二维码插件 jquery.qrcode.js
前段时间做项目,需要动态生成一个二维码,于是就在网上找了一下发现一个jquery插件jquery.qrcode.js,所以今天就简单说一下这个插件的使用: jquery.qrcode.js是依赖jqu ...