123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- //由于经常更换版本号,导致用户存储的js文件有时候找不到,导致iframe跨域访问。而用户不清楚情况,所以现在要定向名称就叫UJ.js 有思js
- //每次更换版本时必须拷贝成UJ.js 中文名叫云js。
- //编辑区主js文件
- Namespace.register("U.CD"); //注册开发类主js,这个以后要放在主文件中。
- //污染所有原生对象,以前在1473这一步被屏蔽了,此处重要!
- //U.M.Setprototype(Object, U.E.E); //让所有的属性都有增删查改 包括了字符串 数组 集合 函数 所以需要改写for in循环
- //全局变量.
- U.MS.FileName = /^([a-zA-Z0-9\s\._-]+)$/; //匹配文件名的正则表达式。
- U.MS.ZWFileName = /^[0-9a-zA-Z\u4e00-\u9fa5\._-]{1,40}\\*$/; //匹配中文文件名的正则表达式。
- //U.CD.AjaxUrl = 'http://c.1473.cn/'; //默认请求页面
- //U.CD.AjaxCross = "http://c.1473.cn/CD.htm";
- U.CD.AjaxUrl = 'http://c-back.1473.cn/'; //默认请求页面
- U.CD.AjaxCross = "http://c-back.1473.cn/CD.htm";
- U.CD.TipR = null; //光标位置。
- U.CD.Loading = null; //全局Loading。
- U.CD.FGuid = null; //未登录用户文件id,保证用户运行多次只生成一个.c和.exe
- //!!!!!!!!!!!!!!!!!!!!!!!!注释,在d.1473.cn中,前端语言标识为USHtml,和后端是分割开的。因为界面不一样,所以是分离的。。。。。
- U.CD.Langs = ["C", "PHP", "Net", "Python", "Nodejs", "Ruby", "Perl", "Lisp"]; //所有语言数组
- U.CD.USLang = "C"; //由于C,PHP,HTML,需要共用一个数据,否则很多种语言很多数据库。所以在数据库根目录加一个标识以便识别
- U.CD.DType = { "TW": "提问", "ZY": "作业", "JH": "精华", "CT": "控件" }; /*发布项目时选项,全局变量,和数据库对应,和C PHP有关系*/
- U.CD.ExamWin = { "Content": "", "CreateDate": "2014-05-19T08:50:01.341Z", "Deep": "1", "ID": "7c23332d-6135-f385-5327-73333fadfc7c", "IsDelete": "false", "Name": "云端示例", "Type": "file" };
- U.CD.BRPID = "B6DBF807-8F28-4C1C-B9D4-4A0BDAE4EA30"; //后端评论主id
- //统一登录全局变量
- US.LoginID = 2;
- U.CD.Init = function () {
- U.CD.Loading = $("#UCD_LD")[0]; //全局loading开始
- //U.CD.Loading.innerHTML = "下载完成,开始初始化数据";
- U.CD.TipR = U.D.E.GetSelectionRange(window, $("#UCD_CT_Code_CT")[0], { "TF": "UCD_CODE", "CB": U.CD.R.Wrap }); //获取光标位置。
- //document.onclick = document.body.onmousedown = U.M.apply(this, [[U.CD.Tip.HidTip]]); //绑定body的左键
- //document.onclick = document.body.onmousedown = U.M.apply(this, [[U.D.SetDTop]]); ///赋予置于顶层的功能
- //U.M.Setprototype(Object, U.E.E); //让所有的属性都有增删查改 包括了字符串 数组 集合 函数 所以需要改写for in循环
- //本项目所有Ajax请求使用U.ACD。如果使用U.A会跳到main项目中执行,导致跨域。重要。DISK是U.Adisk。参加函数U.CD.AsynLI
- //U.CD.Loading.innerHTML = "开始跨域";
- //U.ACD = U.A; U.CD.AsynLI(); //跨域Ajax请求的解决方法//项目调用了主项目的U.A。。。会导致跨域拒绝访问。
- U.CD.CD.Init(); //初始化代码窗口。必须提前到用户自动登录以前,否则会导致跨域问题。
- //U.CD.U.LogoutPanel();//初始化用户登录按钮
- U.CD.LO.SetWH(); //由于html局限性,强制设置宽高。
- U.CD.CL.Init(U.CD.USLang); //生成左边工具栏语言条。
- //U.CD.Tip.Init(); //提示框初始化
- //用户登录后再装载最右边的面板。
- //用户登录后装载用户内容
- //U.CD.U.LUData();
- //加载1473主项目
- //U.CD.OU.Get1473();
- //U.CD.LIFA([["U_CD", U.CD.AjaxCross, "ACD"]], U.CD.JZWB);
- U.CD.GQB($("#UCD_LS")[0], U.CD.AsynJWH); //把1473迁徙到自己项目中。
- }
- //---------------------------------------------------解决Ajax跨域问题------------------------------------------------------------
- //域名加载
- //U.CD.JZWB = function () {
- // U.CD.GQB($("#UCD_LS")[0], U.CD.AsynJWH); //把1473迁徙到自己项目中。
- //}
- //所有的跨域文件加载完毕,允许页面点击。在1473所有事件动态生成,鼠标点击无效。
- //异步加载完执行函数
- U.CD.AsynJWH = function () {
- U.Alert("1473签入完成");
- //U.D.UJZ = [["U_CD", U.CD.AjaxCross, "ACD"]];
- //U.D.OL.push(U.CD.JZWB); //完全跨域
- //U.CD.SY.BK(); //加载首页
- //获取传参,如果有#!等字符,执行url重写。否则,执行一般处理
- U.CD.Url.Init(); //URL重写模块
- U.CD.Loading.innerHTML = "跨域完成";
- U.CD.CL.OpenLang(); //弹出切换语言的窗体
- //全局loading结束。
- U.CD.Loading.style.display = "none";
- }
- window.onload = U.CD.Init;
- //窗口改变重新设置宽高。
- window.onresize = U.CD.LO.SetWH;
- //函数起始点
- //window.onload = U.CD.Init;
- //退出时提示保存代码
- window.onbeforeunload = function () {
- //event.returnValue = "是否已经保存了所有代码?";
- }
- //异步加载iframe跨域请求
- //U.CD.AsynLI = function () {
- // var i, _UCS = document.createDocumentFragment(), _UIFR, _UDE = { "U_CD": "ACD", "U_Main": "A", "U_Disk": "Adisk", "U_BG": "UB", "U_PB": "PB", "U_Pay": "PY", "reply": "RY", "U_ME": "MA", "TF": true }, _UTE = [["U_CD", U.CD.AjaxCross, "ACD"], ["U_Main", "http://main.1473.cn/index.htm", "A"], ["UL_IF", "http://www.1473.cn/NewPage.htm"]]; //_UTE = [["U_Main", "http://main.1473.cn/index.htm", "A"], ["U_Disk", "http://disk.1473.cn/index.htm", "A"], ["UL_IF", "http://www.1473.cn/NewPage.htm"], ["U_BG", "http://BMain.1473.cn/index.htm"], ["U_PB", "http://pb.1473.cn/CD.htm", "PB"], ["U_office", "http://office.1473.cn/index.htm"], ["U_Pay", "http://pay.1473.cn/index.htm", "PY"], ["reply", "http://reply.1473.cn/index.htm", "RY"], ["U_ME", "http://money.1473.cn/CD.htm", "MA"]];
- // U.D.ITF = _UTE.length; //预加载的长度
- // for (var i = 0; i < _UTE.length; i++) {//添加跨域访问的iframe
- // _UIFR = $$("iframe", { "id": _UTE[i][0], "name": _UTE[i][0], "src": _UTE[i][1], "width": 0, "height": 0, "style": { "display": "none"} }, _UCS);
- // U.MD.IframeLoad(_UIFR, [[U.CD.AsynLIFA, ([_UDE])]]);
- // }
- // document.body.appendChild(_UCS);
- //}
- //异步加载Iframe成功后执行
- //U.CD.AsynLIFA = function (UTE) {
- // this.contentWindow.name = this.id;
- // if (this.id == "U_Main") { for (var i in UTE) { if (UTE.hasOwnProperty(i) && i != "TF" && i != "U_CD") { (window.U)[UTE[i]] = window.frames["U_Main"].U.A; delete UTE[i]; } }; UTE["TF"] = false; }
- // else { window.U["ACD"] = window.frames["U_CD"].U.A; delete UTE["U_CD"]; }
- // //alert(!UTE["TF"] && !UTE["U_CD"]);//执行了2次。不对!
- // (!UTE["TF"] && !UTE["U_CD"]) && (U.CD.AsynJWH());
- // //alert((!UTE["TF"] && !UTE["U_CD"]));
- //}
|