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 ...
随机推荐
- MySQL排序原理与案例分析
前言 排序是数据库中的一个基本功能,MySQL也不例外.用户通过Order by语句即能达到将指定的结果集排序的目的,其实不仅仅是Order by语句,Group by语句,Distinct ...
- python 进度条的编写
背景: 在执行一些Python脚本时,经常出现执行脚本的过程当中,不知道脚本执行了百分之多少,这个问题一直都让我很苦恼.所以特意总结一下,进度条的编写. #!/usr/bin/env python2. ...
- Linux下MySQL慢查询分析mysqlsla安装使用
说明: 操作系统:CentOS 5.X 64位 MySQL版本:mysql-5.5.35 MySQL配置文件:/etc/my.cnf MySQL 数据库存放目录:/data/mysql 实现目的:开启 ...
- nginx反向代理+集群
1.前期准备: client:192.168.4.1 eth0 proxy:192.168.4.5 eth0 web1:192.168.4.100 eth0 内容2 web2:192.168.4.20 ...
- 安装phpstudy之后发现80端口被占用
安装phpstudy之后发现80端口被占用: 进入cmd的界面,在输入"netstat -ano",按回车键后,会显示当前电脑中程序占用的端口和程序ID等等信息:看到第一条就是:0 ...
- 5-2 bash 脚本编程之一 变量、变量类型等
1. bash变量类型 1. 环境变量 2. 本地变量(局部变量) 3. 位置变量 4. 特殊变量 2. 本地变量 VARNAME=VALUE, 整个bash进程 3. 环境变量 作用域为当前shel ...
- CentOS下开启mysql远程连接,远程管理数据库
当服务器没有运行php.没装phpmyadmin的时候,远程管理mysql就显得有必要了.因为在CentOS下设置的,所以标题加上了CentOS,以下的命令在debian等系统下应该也OK. mysq ...
- wamp下Apache配置vhost
1.由于后面虚拟机中需要用到Rewrite所以先编辑Apache的conf目录下的httpd.conf文件.(我的文件位置是:D:\Program Files\wamp\bin\apache\apac ...
- [LeetCode] Combination Sum IV 组合之和之四
Given an integer array with all positive numbers and no duplicates, find the number of possible comb ...
- iOS 设置不同的字体颜色
//设置不同字体颜色 -(void)fuwenbenLabel:(UILabel *)labell FontNumber:(UIFont *)font AndRange:(NSRange)range ...