/** * 创建权限 * @param {array} 磁盘信息 **/ U.MD.DK.RE.newJurisdiction = function (disk) { return; // var _operator = disk.operator; //用户操作id // var _diskuserid = disk.userInfo.UserId; //打开磁盘的用户id // var _directoryid = disk.directoryid; //目录id // //判断是否在自己的目录下创建 // if (_operator == _diskuserid) { //在自己的目录下创建 // return true; // } // //在别人的目录下创建 // else { // //在别人ftp下点击创建并在ftp设置允许上传 // if () { // return true; // } // //不是在别人ftp下创建或者ftp设置只允许上传 // else { // return false; // } // } } // var _UST, // _UDID = UDE.UserDirectoryID; // var i, _UGE, _UDS, // _UDID = UDE.UserDirectoryID, // _UDE = U.MD.DK.M.diskOperatingSwitch((userid = userid || US.userInfo.userid)); // if (_UDID == "22222222-2222-2222-2222-222222222222" || _UDID == "11111111-1111-1111-1111-111111111111") { // U.MD.DK.LL.FCKDXWPDH(_UDID) // } // else { // var _UDJ = U.MD.D.H.ET["Disk"]["SY"], // _UDPD = U.selectEl(_UDE[2] ? "#U_MD_DK_OCRC" : "#U_MD_DK_RZ", _UDE.formel)[0], // _UDAD = U.selectEl(UDOD).Child(), // _UCE = [[_UDJ["DJ"]], [_UDAD[0], true]], // _UDTD = _UDAD[1], // _UAE = UDE.Child || U.Json.select(_UDE[0], { "UserDirectoryParentID": userid }), // _UDS = " U_MD_DK_LTXOSIO", _UDSD = U.selectEl("div", _UDAD[0])[0]; // if (userid != US.userInfo.userid) { // if (UDE.UserDirectoryID == US.userInfo) { // _UST = "他人群文件无法查看"; // } // else if (UDE.UserDirectoryID == US.PRIVATEFOLDERID) { // _UST = "他人的私密空间无法查看"; // } // if (_UST) { U.alert(_UST); return; } // } // for (i = 0; i < _UCE.length; i++) { // if (_UCE[i][0]) { U.selectEl(_UCE[i][0])[_UCE[i][1] ? "addClass" : "removeClass"]("U_MD_DK_LTXOSO") }; // }; // _UDPD.onscroll = null; _UDJ["DJ"] = _UDAD[0]; // if (UDE.Child || _UDID == US.EMPTYGUID || _UDID == userid) { //无需加载 // if (!UTF || !UTF[0]) { // _UDS = (_UDSD.className.indexOf("U_MD_DK_LTXOSIO") > -1 || (UTF && UTF[3] == "none")) ? ["none", ""] : ((_UDTD && !$(_UDTD).Child().length) && ($(_UDTD).remove(), _UDTD = null), (!_UDTD) && (_UGE = U.Json.select(_UAE, { "filetype": 0 }), _UDTD = U.MD.DK.LL.printLeftTreeDirectory(_UGE, _UDTD, null, userid)), ["block", _UDS]); // _UDTD.style.display = _UDS[0]; // _UDSD.className = "U_MD_DK_LTXOSI U_Img" + _UDS[1]; // } //导航打印 // if (!UTF || !UTF[1]) { // if (_UDID == userid) { // if (userid == US.userInfo.userid) { _UDPD.innerHTML = "", U.MD.DK.VW.XWPDYH(US.friend.group) }; // } // else if (_UDID == US.EMPTYGUID) { // U.MD.DK.LL.ZJFWDJ(_UDE, userid, _UDPD); // } // else { U.MD.DK.LE.openFileDirectory(UDE, userid); } // } //文件显示 // } // else { // U.MD.DK.LE.getChildsByDirectoryId(userid, UDE, ((!UTF || !UTF[1]) && (_UDPD.innerHTML = "", true)) ? [_UDPD, true] : null, function () { U.MD.DK.LL.leftTreeClick(UDE, UDOD, UTF, userid); }); // } //获取目录 // } // var i, _UCE, _el, _UDTD, _UDSD, _UDMD, // _userid = US.userInfo.userid, // _USE = U.MD.DK.C.getIcon(UDE.UserDirectoryExtendType.toLowerCase()), // _UTF = "文件" + (UDE.filetype ? "" : "夹"), // _diskinfo = US.disk.UserDisk; UDE = UDE || U.Json.select(_diskinfo[0], { "UserDirectoryID": UDID }, null, 1)[0]; // _UCE; //= U.UF.UP.IsDF(UDE.UserDirectoryExtendType)[0] // _el = $$("div", { "className": "U_MD_DK_SX" }); //$$("div", { "className": "U_MD_DK_SXT", "innerHTML": _UTF + "属性:" }, _el); // _UDTD = $$("div", { "className": "U_MD_DK_SXC" }, _el); // _UDSD = $$("div", { "className": "U_MD_DK_SXCO" }, _UDTD); // if (U.UF.UP.isImg(UDE.UserDirectoryExtendType)) { // $$("img", { "onerror": U.MD.C.imgError, // "onerror": function () { // U.MD.C.imgError(1); // }, // "src": U.MD.C.getHeadImage(UDE.UserDirectoryUrl), // "className": "U_MD_DK_RT_UDD_DV" // }, _UDSD); // } //图片设置 // else { // $$("div", { "className": "U_MD_DK_L_DiskGE U_MD_DK_SXCOI", "style": { "cssText": _USE[1]} }, _UDSD); // } // _UDSD = $$("div", { "className": "U_MD_DK_SXCT" }, _UDTD); // $$("div", { "className": "U_MD_DK_SXCTO", "style": { "marginTop": "4px" }, "innerHTML": "名称:" + UDE.UserallDirectoryName }, _UDSD); // if (UDE.filetype) { // $$("div", { // "className": "U_MD_DK_SXCTT U_MD_D_YesText", // "onselectstart": U.UF.EV.stopBubble, "spellcheck": "false", // "innerHTML": "链接:" + (_USE[0] == "图片文件" ? U.MD.C.getHeadImage(UDE["UserFilesServerName"]) : "http://disk.1473.cn/" + UDE["UserDirectoryID"]) // }, _UDSD); // } // else if (UDID != US.FTPFOLDERID && UDE.GroupID == _userid && _userid == _diskinfo[1][2] && UTF) {//ftp上传的设置 // _UDMD = $$("div", { "className": "U_MD_DK_SXCTO" }, _UDSD); // $$("div", { "innerHTML": "权限选择: ", "className": "U_MD_DK_SXCTOQ" }, _UDMD); // _UDMD = $$("div", { "className": "U_MD_DK_SXCTOS" }, _UDMD); // _UDMD = $$("select", { // "onchange": function () { // U.MD.DK.RE.setpermissions(this, UDE); // } // }, _UDMD); _UDMD.options.length = 3; // _UCE = ["无限制", "只允许上传", "只允许下载"]; for (i = 0; i < 3; i++) { _UDMD.options[i].text = _UCE[i]; } // _UCE = UDE.UserDirectoryEncrypt; if (_UCE == "1" || _UCE == "2") { _UDMD.selectedIndex = parseInt(_UCE) }; // } // $$("div", { "className": "U_MD_DK_SXCTO", "innerHTML": "类型:" + _UTF }, _UDSD); // $$("div", { "className": "U_MD_DK_SXCTO", "innerHTML": "创建日期:" + U.UF.D.formatDateToArray(UDE.UserDirectoryAddTime) }, _UDSD); // $$("div", { "className": "U_MD_DK_SXCTO", "innerHTML": "文件大小:" + U.UF.UP.minUnitToMaxUnit(UDE.UserDirectorySize) }, _UDSD); // return _el; U.MD.DK.RE.DMB = function (UDE, UAF, UDPD, userid) { userid = userid || (UDE.UserId || UDE.GroupID) || ((UDE[0]) && (UDE[0].UserId || UDE[0].GroupID)) || US.userInfo.userid; //选择删除文件的用户ID var i, _UH, _el, _userid = US.userInfo.userid; UDE = UDE.length ? UDE : [UDE]; if (U.MD.DK.C.getDirectoryPermissions()[4] || (UDE = U.Json.select(UDE, { "UserId": _userid })).length) { //权限设置 if (UDE.length > 1) { _el = $$("div", { "style": { "cssText": "float:left;text-align:center;width:100%;padding:5% 0 5% 0;"} }); $$("span", { "style": { "cssText": "font-weight:bold;" }, "innerHTML": "你确定要删除这" + UDE.length + "项吗?" }, _el); } //多文件删除 else { _el = U.MD.DK.RE.attributeStyle(null, UDE[0]); } //单文件处理 U.MD.DK.RE.Prompt("删除文件", _UH, 350, _el, function () { U.MD.DK.RE.deleteUploadFile(UDE, UAF, userid); }, UDPD); //创建删除窗口 } else { U.alert("拒绝访问"); } } /** * 获取光标选取元素的值 * @param {object} range光标对象 * @param {object} 给指定的光标去 */ //U.UF.E.GetHTML = function (range) { // var _tempel, _childs, // _str = ""; // //html5处理内容的形式 // if (range.cloneContents) { // _tempel = $$("div"); // _tempel.appendChild(range.cloneContents()); //得到 // _childs = _tempel.childNodes; //获取所有的孩子节点 // //循环拼接要获取到的值 // for (i = 0; i < _childs.length; i++) { // _str += _childs[i].outerHTML ? _childs[i].outerHTML : "" + _childs[i].data + ""; // } // } // //ie下获取选中图片的时候的处理 // else if (range.commonParentElement) { // _str = range.commonParentElement().outerHTML; // } // //ie系列获取内容的形式 // else { // _tempel = $$("div", { "innerHTML": range.htmlText }); // _childs = _tempel.childNodes; //获取所有的孩子节点 // //循环拼接要获取到的值 // for (i = 0; i < _childs.length; i++) { // _str += _childs[i].outerHTML ? _childs[i].outerHTML : "" + _childs[i].data + ""; // } // } // return _str; //返回光标选中元素的值 //} //#region 编辑区域 ///** //* 编辑器区域初始化设置全局变量 //* //* @param {window} window //* @param {element} 当前编辑框元素 //* @param {object} 编辑传参对象 //-----------[CB] 回调函数 //-----------[TF] 识别id //*/ //U.UF.E.setVariable = function (id, cursor) { // var _cursors = U.UF.E.SORange; // if (id) { // //设置监视前进后退变化使用 函数有问题以后要修改 // _cursors["OAT"][id] = [{ "OR": new cursor.init(cursor, false), "C": ""}]; //创建前进后退处理 // _cursors["OAT"][id].l = 0; //当前前进后退所在的位置 // _cursors["OE"][id] = cursor; //保存当前光标变量 // } //} ///** //* 初始化编辑区域 判断光标是否存在、创建光标、写入全局光标变量、监听键盘 //* //* @param {window} window //* @param {element} 当前编辑框元素 //* @param {object} 编辑传参对象 //-----------[CB] 回调函数 //-----------[TF] 识别id //*/ //U.UF.E.GetSelectionRange = function (win, el, obj) { // try { // var _id = obj["TF"], //对该光标的唯一标识 // _cursors = U.UF.E.SORange, //所有使用编辑光标 // _cursor = _cursors["OE"][_id]; //获取已经创建的光标功能区 // //已经创建直接刷新光标 // if (_id && _cursor) { // //_cursor = _cursor.setVariable(win, win.document, el, obj); //光标存在,把光标的变量重新赋值 // _cursor.CreateR(); //重新创建光标 // } // else { //创建一个新的光标控制 // _cursor = new U.UF.E.SelectionRange(win, win.document, el, obj).CreateR(true); //创建光标 // //设置光标的全局变量 // U.UF.E.setVariable(_id, _cursor); //全局变量初始化 // //把键盘事件和光标一起绑定,因为要使用光标的地方全部都要监控键盘输入输出,所以绑定在一起,如果有机会,可以独立。 // //事件监视使用 处理页面在选择 输入 点击的时候的处理 // U.UF.E.KeyboardBinding(_cursor.form, _cursor); //键盘绑定处理 // } // return _cursor; // } // catch (e) { return false; } //} ///** //* 键盘绑定处理 //* //* @param {element} window //* @param {U.UF.E.SelectionRange} 光标对象 //*/ //U.UF.E.KeyboardBinding = function (el, cursor) { // U.selectEl(el).bind({ // "keydown": function () { // cursor.GetKE(); // }, //键盘点击 // "keyup": function () { // cursor.CLKU(); // }, //键盘结束处理 // "copy": function () { // cursor.Copy(); // }, //键盘结束处理 // "paste": function () { // cursor.Paste(); // }, //键盘结束处理 // "cut": function () { // cursor.Cut(); // }, //键盘结束处理 // //selectstart: U.UF.C.apply(_URE, _URE.selectAll), //页面选择处理函数 // "click": function () { // cursor.CLMU(); // } //点击处理 // }); //} ///** //* 初始化编辑区域 光标的前进后退有问题 需要用其他的解决方案 //* //* @param {window} 触发的域 //* @param {document} 触发的域下的document //* @param {element} 当前编辑元素 //* @param {object} 传参 //-----------[CB] 回调函数 //-----------[TF] 识别id //* @param {element} 上级不变的元素 //*/ //U.UF.E.SelectionRange = function (UW, UD, UDOD, UDE) { // this.setVariable(UW, UD, UDOD, UDE); //} /////** ////* 获取可编辑的元素 ////* ////* @param {window} 触发的域 ////*/ ////U.UF.E.SelectionRange.GetEditElement = function () { //// //获取可编辑对象 //// while (_UCE && ((_UTF = _UCE.tagName.toLocaleLowerCase()) == "p" || _UCE.contentEditable != "true") && _UTF != "body") { //// _UCE = _UCE.parentNode; //// } //// this.form = _UCE; //设置可编辑区域值 ////} ////使用方法集 //U.UF.E.SORange = U.UF.E.SelectionRange.prototype = { // OAT: {}, //前进后退使用集 // OE: {}, //记录创建光标值 // setVariable: function (UW, UD, UDOD, UDE) { // this.CW = UW; //编辑的windows层次 // this.CD = UD; //编辑的document // this.SO = UDOD || this.Parent(); //编辑区域 // this.form = U.selectEl(UDOD).Parent({ "contentEditable": "true" }); //编辑区域的父亲 // this.CB = UDE["CB"]; //编辑的回调函数 // this.TF = UDE["TF"]; //创建光标的唯一识别码 // this.TIM = []; // this.S = null; // this.R = null; // this.J = null; // this.TR = null; // this.BCB = null; // this.FCB = null; // this.Dectect = U.UF.E.codeDetect(); // this.CTH = ""; // }, // /** // * 创建一个光标记载查看 // * // * @param {boolean} 创建对象时候时候聚焦对象 // */ // CreateR: function (UTF) { // // U.UF.C.AddObj(this, { SO: this.SO || this.Parent(), form: this.SO }); //设置当前元素和上级元素 // //变量定义 // var _b, // _win = this.CW, //当前域 // _doc = this.CD; //域下的document对象 // //设置加载对象 // try { // if (_win.getSelection) { //html5 // this.S = _win.getSelection(); // this.TR = _doc.createRange(); // if (UTF !== false && this.SO) { //聚焦到制定的位置 // if (this.SO.focus && (!this.S.rangeCount || !U.UF.EL.isChild(this.form, this.Parent(this.S.getRangeAt(0))))) { //判断对象是否在元素内 // this.SO.focus(); //当前对象聚焦 // this.QX(this.getLen(this.SO), this.getLen(this.SO), this.SO); //设置对象在当前位置 // this.S = _win.getSelection(); //设置选择区对象 // } // } // this.R = this.S.rangeCount ? this.S.getRangeAt(0) : this.R || _doc.createRange(); //选取对象 // } // else { //老ie // this.S = _doc.selection; //选取对象 // this.R = _doc.selection.createRange(); //光标对象 // this.TR = document.body.createTextRange(); //输入光标对象 // if ((_UTF = (UTF !== false && this.SO && !U.UF.EL.isChild(this.form, this.Parent(this.R)))) || UTF) { //需要插入光标 // if (_UTF) { //是否聚焦到指定位置中 // this.R = this.QX(this.getLen(this.SO), this.getLen(this.SO), this.SO) || this.R; //设置选取位置 // } // else { //当前元素聚焦 // this.SO.focus(); // this.Replace(""); //写入光标 // } // this.S = _doc.selection; //插入光标 // } // } // } catch (e) { } // return this; // }, // /** // * 初始化编辑区域 // * // * @param {object} 编辑对象 // -----------[CW] 当前域 // -----------[CD] 当前域下的doc // -----------[SO] 对象 // -----------[{}] // -------[TF] 识别id // -------[CB] 回调函数 // -----------[form] 编辑的上级元素 // * @param {boolean} 变化的数组 实现数组 0 、 1 切换 // */ // init: function (URE, UTF) { //创建光标监视区域 // this.setVariable(URE["CW"], URE["CD"], URE["SO"], { "TF": URE["TF"], "CB": URE["CB"] }, URE["form"]) // this.CreateR(UTF); // }, // //#region 获取指定编辑元素 // /** // * 初始化编辑区域 // * // * @param {object} 光标对象 // * @param {document} 是否连text也获取 // */ // Parent: function (UDR, UTF, NT) { //获取当前光标所在的区域 // if (UDR = UDR || this.R) { //光标存在使用 // if (UDR.parentElement || UDR.commonParentElement) { //老IE获取 // return (UDR.parentElement || UDR.commonParentElement)(); //上级元素 选择元素区域 // } // else { //统一使用 // var _el = UDR.commonAncestorContainer; // if (NT) { // return UDR.endContainer.parentElement; // } // return ((_el.nodeName == "#text" && UTF) ? _el.parentNode : _el); // } // } // }, // /** // * 获取当前选中的元素 // */ // Element: function (UDR) { // if (UDR = UDR || this.R) { //光标存在使用 // if (UDR.parentElement || UDR.commonParentElement) { //老IE获取 // return (UDR.parentElement || UDR.commonParentElement)(); // } // else { //统一使用 // return UDR.commonAncestorContainer; // } // } // }, // /** // * 获取父亲层 // * // * @param {object} 光标对象 // * @param {document} 是否连text也获取 // */ // IParent: function (UTH, UDR) { // UTH = (UTH === void 0) ? this.GetSelectedHtml() : UTH; //选中的蚊子 // var _UDPD, // _el = this.Parent(UDR), // _UDTD = $$("div", { "innerHTML": UTH }); // while (_el && _el.innerText && (_UDTD.innerText == _el.innerText) && (_el != this.form) && (_UDPD = _el)) { // _el = _el.parentNode; // } // return _UDPD; // }, // //#endregion // /** // * 文字替换 同时也是插入文字的方法 这里用在 设置文字大小 字号等.. // * // * @param {string} 需要插入或者替换的文字 // * @param {object} range光标对象 // * @param {boolean} 是否聚焦到最后 // * @return {object} 光标编辑对象 // */ // Replace: function (UTS, URD, UTF) { //光标选区文字替换 // var i, _userid, _el, _UDCD, _UDTD, _UDSD, _UDE, _UTF, // _UST = "", // _UTH = UTS == null ? UTS : (UTS.outerHTML || UTS); //需要插入或者替换的文字 // URD = URD || this.R; //光标对象 // if (URD && UTS != null) { //判断是否具有光标和替换的文字7 // _UDE = []; // _el = this.Parent(URD); //获取上级元素 // _userid = "R" + Guid.newGuid(); // _UDTD = $$("span", // { // "id": _userid, // "innerHTML": _UTH // }); //生成需要写入的数据元素 // _UTF = this.GetSelectedText(); //当前需要替换的文字 // if (_el != document) { //判断处理的编辑区域是否在原来的编辑框里 U.UF.EL.isChild(this.form, _el) && // if (window.getSelection) { //html5 // _UDTD = URD.createCont //...........................extualFragment(_UTH); //创建选取 // if (_el.innerText == this.GetSelectedText() && _el.innerText) { URD.selectNodeContents(_el) }; //文字聚焦到当前选取中 // URD.deleteContents(); //移除文字 // this.S.removeAllRanges(); //移除选取 // // if (_UDTD.children[0]) { // // URD.selectNodeContents(_UDTD.children[0]) // // } // URD.insertNode(_UDTD); //插入选择的蚊子 // // if ($("#" + _userid).Child()[0]) { // // URD.selectNodeContents($("#" + _userid).Child()[0]); // // U.selectEl("#" + _userid)[0].outerHTML = U.selectEl("#" + _userid)[0].innerHTML; // // } // if (UTF) { // URD.collapse(false); // } // this.S.addRange(URD); //把替换的文章添加到当前指定的选取中 // } // else { //老IE兼容 // if (!_UDTD.innerText && !$("div", _UDTD).length && !$("div", this.form).length) { //无输入的内容 直接新建换行内容符号 div // this.SL($$("div", {}, this.form)); //添加输入的div // _UST = _UDTD.innerHTML; //设置使用的值 // } // else { //获取需要插入的内容 // _UST = (_UDTD.innerHTML && !UTF) ? _UDTD.outerHTML : _UDTD.innerHTML; // } // URD.select(); //选取聚焦 // URD.pasteHTML(""); //添加选取文字 // URD.pasteHTML(_UST); //添加选取文字 // if (UTF || !_UDTD.innerHTML) { URD.collapse(false); } //聚焦到最后 // else { //选取聚焦 // _UDTD = U.selectEl("span", this.Parent())[_UDTD.id]; //选择元素 // _UDTD.outerHTML = _UDTD.innerHTML; //替换焦点 // this.R.select(); //元素聚焦 // } // } // this.CreateR(); //选择成功后 重新生成选取 光标 // //U.UF.C.AddObj(this, { "SO": this.Parent(), "TR": URD }); //设置对象和光标 // } // } // return this; // }, // //#region 元素选择选区处理 // /** // * 指定的位置创建光标选区 // * // * @param {number} 文字插入到指定位置 // * @param {number} range光标对象 // * @param {element} 是否聚焦到最后 // * @return {object} 光标编辑对象 // */ // QX: function (US, UE, UDOD) { // // try { // var _UOE, _UTE, // _UD = this.CD; //使用域下的document // UDOD = UDOD || this.Parent(); //获取元素的上一级 // if (window.getSelection) { //Html5 // this.S = (this.S || this.CW.getSelection()); // if (!this.S.rangeCount) { // this.CW.focus(), UDOD.focus(), // this.R = this.S.getRangeAt(0) // }; //获取选区 // if (this.R.commonAncestorContainer != document) { //指定的位置可编辑可聚焦 // _UOE = document.createRange(); // _UOE.selectNode((UDOD)); //聚焦制定的位置 // US = US == null ? _UOE.startOffset : US == -1 ? _UOE.endOffset : US; // UE = UE == null ? _UOE.endOffset : UE == -1 ? _UOE.endOffset : UE; //获取位置 // try { // _UOE.setStart((UDOD || this.R.startContainer), US); // _UOE.setEnd((UDOD || this.R.endContainer), UE); // } // catch (e) { // _UOE.setStart(this.R.startContainer, US); // _UOE.setEnd(this.R.endContainer, UE); // } // this.S.removeAllRanges(); // this.S.addRange(_UOE); //设置位置 // } // } // else { //老IE使用 // if (U.UF.C.isNumber(US)) { // _UOE = _UD.body.createTextRange(); // _UTE = _UD.body.createTextRange(); // _UOE.moveToElementText(UDOD); // if (U.UF.C.isNumber(US)) { _UOE.moveStart("character", US), _UTE.moveToElementText(UDOD), _UTE.moveStart("character", UE), _UOE.setEndPoint("EndToStart", _UTE) }; // if (US !== UE) { _UOE.select() }; // } // else { // this.R.select(); // } // } // return _UOE; // } // catch (e) { // return false; // } // }, // /** // * 移动光标处理 // * // * @param {number} 需要移动的范围 // * @return {object} 光标编辑对象 // */ // moveRange: function (US) { // this.CreateR(false); // if (window.getSelection) { //Html5 // try { // this.TR.setStart(this.R.startContainer, this.R.startOffset + US); // this.TR.setEnd(this.R.endContainer, this.R.endOffset); // } // catch (e) { } // this.S.removeAllRanges(); // this.S.addRange(this.TR); //设置位置 // } // else { //老IE使用 // this.TR.moveToElementText(this.Parent()); // _UOE.moveStart("character", US); // } // this.CreateR(); // }, // /** // * 选择选中区域元素 // * // */ // GetSE: function () { // if (window.getSelection) { //HTML5 // _USE = this.CW.getSelection(); // _URE = _USE.rangeCount ? _USE.getRangeAt(0) : this.R; // if (UDR) { _URE.setStart(UDR.endContainer, UDR.endOffset) }; // } // else {//老IE兼容 // _USE = document.selection; // _URE = document.selection.createRange(); // if (UDR) { _URE.setEndPoint("EndToEnd", UDR) }; // } // }, // /** // * 设定元素为选择元素 // * // * @param {element} 文字插入到指定位置 // * @param {object} range光标对象 // * @return {object} 光标编辑对象 // */ // SL: function (UDOD, UDR) { // UDOD = UDOD || this.SO; // if (window.getSelection) { //html5选择 // if (!UDR) { UDR = document.createRange() }; // UDR.selectNodeContents(UDOD); // this.S = this.S || this.CW.getSelection(); // this.S.removeAllRanges(); // this.S.addRange(UDR); // this.R = UDR; // } // else { //老IE选择元素 // if (!UDR) { UDR = document.body.createTextRange(), UDR.moveToElementText(UDOD) }; // UDR.select(); // } // // (!UDR) && (UDR = document.body.createTextRange(), UDR.moveToElementText(UDOD)); UDR.collapse(false); UDR.select(); // return this; // }, // //#endregion // //#region 获取文字 // /** // * 获取当前选区的html // * // * @param {object} range对象 // */ // GetSelectedHtml: function (UDR) { // if ((UDR = UDR || this.R)) { // var i, _UDAD, _UDCD, _URE, UST = "", // _UIE = 1; // if (UDR.cloneContents) { //判断是否 // var _el = $$("div"); // _el.appendChild(UDR.cloneContents()); // UST = _el.innerHTML; // _UDCD = U.selectEl($$("div", // { // "innerHTML": UST // })).Nodes(); // UST = ""; // for (i = 0; i < _UDCD.length; i++) { // UST += _UDCD[i].outerHTML ? _UDCD[i].outerHTML : "" + _UDCD[i].data + ""; // } // } // else if (UDR.commonParentElement) { // UST = UDR.commonParentElement(); // UST = UST.outerHTML || UST.innerHTML || UST.value || ""; // } // else { // UST = UDR.htmlText; // _UDAD = $$("div", // { // "innerHTML": UDR.htmlText // }).childNodes; // if (_UDAD.length) { // UST = ""; _URE = UDR.duplicate(); // _URE.moveStart("character", -1); // _UDCD = U.selectEl($$("div", // { // "innerHTML": _URE.htmlText // })).Nodes(); // if ((_UDCD.length == _UDAD.length && _UDAD[0].outerHTML == _UDCD[0].outerHTML) || (_UDCD.length != _UDAD.length && _URE.htmlText != UDR.htmlText)) { // UST = $$("div", // { // "innerHTML": _UDAD[0].outerHTML || _UDAD[0].nodeValue || _UDAD[0].data || _UDAD[0].text // }).innerHTML; // } // else { // UST = ($($$("div", { // "innerHTML": _UDAD[0].innerHTML // })).Child().length ? _UDAD[0].innerHTML : (_UDAD[0].innerHTML || _UDAD[0].nodeValue || _UDAD[0].data || _UDAD[0].text ? $$("span", { "innerHTML": _UDAD[0].innerHTML || _UDAD[0].nodeValue || _UDAD[0].data || _UDAD[0].text }).outerHTML : "")); // } // if (_UDAD.length > 1) { // for (i = 1; i < _UDAD.length - 1; i++) { // UST += _UDAD[i].outerHTML || _UDAD[i].nodeValue || _UDAD[i].data || _UDAD[i].text; // } // _URE = UDR.duplicate(); _URE.moveEnd("character", 1); // _UDCD = U.selectEl($$("div", // { // "innerHTML": _URE.htmlText // })).Child(); // if ((_UDCD.length == _UDAD.length && _UDAD[_UDAD.length - 1].outerHTML == _UDCD[_UDCD.length - 1].outerHTML) || (_UDCD.length != _UDAD.length && _URE.htmlText != UDR.htmlText)) { // UST += $$("div", // { // "innerHTML": _UDAD[_UDAD.length - 1].outerHTML || _UDAD[_UDAD.length - 1].nodeValue || _UDAD[_UDAD.length - 1].data || _UDAD[_UDAD.length - 1].text // }).innerHTML; // } // else { // UST += ($($$("div", // { // "innerHTML": _UDAD[_UDAD.length - 1].innerHTML // })).Child().length ? _UDAD[_UDAD.length - 1].innerHTML : _UDAD[_UDAD.length - 1].innerHTML || _UDAD[_UDAD.length - 1].nodeValue || _UDAD[_UDAD.length - 1].data || _UDAD[_UDAD.length - 1].text ? $$("span", { "innerHTML": _UDAD[_UDAD.length - 1].innerHTML || _UDAD[_UDAD.length - 1].nodeValue || _UDAD[_UDAD.length - 1].data || _UDAD[_UDAD.length - 1].text }).outerHTML : ""); // } // } // } // } // return UST; // } // }, // /** // * 设定元素为选择元素 // * // * @param {element} 获取当前光标选区的text // */ // GetSelectedText: function (UDR) { // return (UDR = UDR || this.R) == null || UDR.add ? null : UDR.text != undefined ? UDR.text : (this.S.toString()); //全兼容的获取 // }, // //#endregion // //#region 键盘操作处理 // /** // * 设定元素为选择元素 // * // * @param {string} // */ // GetKE: function (UTF) { //输入处理 // var i, _UCE, _UDE, _UKE, _UL, _UDSD, // _UTP = this.TF; // UTF = UTF && U.UF.C.isString(UTF) ? UTF : this.Dectect.getValue(); //获取键盘的值 // switch (UTF) { // case "redo": //前进 // // U.UF.EV.stopDefault(); // // _UDE = this.OAT[_UTP]; // // _UL = _UDE.l; // // _UKE = _UDE[_UL]; //使用值 // // for (i = _UL; i < _UDE.length; i++) { // // if (_UDE[i].C) { // // _UCE = _UDE[i]; _UDE.l = i; break; // // } // // } //获取使用列 // // if (_UCE) { // // if (!window.getSelection) { //光标位置使用 // // try { // // _UKE = _UKE.OR.R; // // if (_UCE.P.boundingLeft || _UCE.P.boundingTop) { // // _UCE.OR.R.moveToPoint(_UCE.P.boundingLeft, _UCE.P.boundingTop); // // }; // // } // // catch (e) { // // try { // // if (_UCE.OR.R.boundingTop < _UCE.P.boundingTop) { // // _UCE.OR.R.moveToPoint(_UKE.boundingLeft + _UKE.boundingWidth - 1, _UKE.boundingTop); // // } // // } catch (e) { } // // } // // } // // _UCE.OR.Replace(_UCE.C); _UCE.C = ""; // // } // break; // case "undo": //后退 // // (this.TIM[1]) && (this.TIM[1]()); // // _UDE = this.OAT[_UTP]; // // _UL = _UDE.l; // // _UCE = _UDE[_UL]; // // U.UF.EV.stopDefault(); // // if (!_UCE.OR.GetSelectedText()) { // // if (_UL > 0) { // // _UL = (_UDE.l -= 1); // // _UCE = _UDE[_UL]; // // } else { _UCE = null; } // // } // // if (_UCE) { // // _UCE.C = _UCE.C || _UCE.OR.GetSelectedHtml(); // // _UCE.OR.Replace(""); // // } // break; // default: // // if (U.UF.C.isNumber(UTF[0])) { //是否为数字 // // if (UTF[0] == 9) { //tab处理 // // U.UF.EV.stopDefault(); // // this.CreateR().Replace(" ", null, true); //插入tag值 // // } // // // else if (!(UTF[1] || UTF[2]) && UTF[4].length < 2) { //需要重新记录 // // // _UDE = this.OAT[_UTP]; // // // if (_UDE.l != _UDE.length - 1) { // // // _UDE[_UDE.l].C = ""; // // // _UDE.splice(_UDE.l + 1, _UDE.length); // // // } // // // else { // // // this.ADQJ(); // // // } // // // } // // else if (!(UTF[1] || UTF[2]) && (UTF[0] == 13 || UTF[0] == 8 || UTF[0] == 3 || (UTF[0] > 32 && UTF[0] < 40) || UTF[0] == 46 || (UTF[0] > 63231 && UTF[0] < 63236) || (UTF[0] > 63272 && UTF[0] < 63278 && UTF[0] != 63274)) && this.TF) { //特殊键处理 // // } // // } // break; // } // if (this.CB && this.CB(U.UF.C.isString(UTF) ? UTF : UTF[4], [this.Parent()], this, UTF, window) === 1) { //回调设置 // // U.UF.EV.stopDefault(); // } // }, // /** // * 键盘输入输出处理 // * // */ // CLKU: function () { // var _UDPD = this.form, // _UTF = this.Dectect.getValue(); //获取键盘属性值 // // //后退键的处理 // // if (_UTF[4] == "Backspace" && !$(_UDPD).Child().length) { } //后退键处理 // // //方向输出键 // // else if (!(_UTF[1] || _UTF[2]) && (_UTF[0] == 13 || _UTF[0] == 8 || _UTF[0] == 3 || (_UTF[0] > 32 && _UTF[0] < 40) || _UTF[0] == 46 || (_UTF[0] > 63231 && _UTF[0] < 63236) || (_UTF[0] > 63272 && _UTF[0] < 63278 && _UTF[0] != 63274))) { // // this.ADQJS(""); // // } // //执行回调使用 // if ((this.CB) && (this.CB("UP", [this.Parent()], this, _UTF, window) == 1)) { // // U.UF.EV.stopDefault(); // } // //this.CreateR(false); //创建记录 // }, // //#endregion // /** // * 点击时候创建光标 // * // * @param {element} 需要复制到的元素 // */ // CLMU: function () { // this.ADQJS(""); // }, // //#endregion // Cut: function () { // this.CreateR(); //重新记录光标 // this.CTH = this.GetSelectedHtml(); //复制的文字处理 // if (this.CB && this.CB("Cut", [this.Parent()], this, "Cut", window) === 1) { //回调设置 // // U.UF.EV.stopDefault(); // } // }, // /** // * 复制 // * // * @param {string} 需要复制的位置 // */ // Copy: function () { //复制 // this.CreateR(); //重新记录光标 // this.CTH = this.GetSelectedHtml(); //复制的文字处理 // if (this.CB && this.CB("Copy", [this.Parent()], this, "Cut", window) === 1) { //回调设置 // // U.UF.EV.stopDefault(); // } // }, // /** // * 粘贴 // * // * @param {element} 需要粘贴到的元素 // */ // Paste: function (UDOD) { //粘贴 // this.CreateR(); //重新记录光标 // if (this.CB && this.CB("Paste", [this.Parent()], this, "Cut", window) === 1) { //回调设置 // // U.UF.EV.stopDefault(); // } // // if (this.CTH) { // // if (UDOD) { //添加到指定的元素 // // UDOD.innerHTML = this.CTH.outerHTML || this.CTH; // // } // // else { //添加到指定的位置 // // this.Replace(this.CTH, null, true); this.CLMU(); // // } // // } // }, // /** // * 指定的文字生成写入的样式元素 // * // * @param {string} 需要写入的文字 // * @param {object} 转化的样式集 {width:100px,height:100px} // * @return {string} 需要粘贴到的元素 // */ // SetStyle: function (UTH, UDE) { //写入样式生成元素 // var i, _UDAD, // _UTH = "", // _el = $$("span", // { // "innerHTML": UTH // }); // this.writeStyle(_el, UDE); //设置样式输出 // return U.selectEl("*", _el).length ? _el.innerHTML : _el.outerHTML; //设置新的样式 // }, // /** // * 通过元素设置样式 // * // * @param {string} 需要写入的元素 // * @param {object} 转化的样式集 {width:100px,height:100px} // * @return {string} 需要粘贴到的元素 // */ // writeStyle: function (UDOD, UDE) { // // var i, j, _UTF, // _UKE = {}, // _UCE = {}, // _USE = ["textAlign"], //textAlign 无法设置行内元素 要设置块状元素才可以 // _UDPD = this.Parent(), //上级元素 // _UDAD = U.selectEl(UDOD).Nodes(); //获取所有的子元素 // while (_UDPD.tagName == "SPAN") { // _UDPD = U.selectEl(_UDPD).Parent(); // } // //循环需要添加的样式集合 // for (i in UDE) { // if (UDE.hasOwnProperty(i)) { // if (_USE.indexOf(U.UF.EL.styleConversion(i)) > -1 ? _UCE : _UKE == _UCE) { //判断样式中是否有行内元素无法设置的样式 如果有就添加到全局设置样式的区域 // _UCE[i] = UDE[i][0] == _UDPD.style[i] ? UDE[i][1] : UDE[i][0]; // } // else { //可设置样式区域 // _UKE[i] = UDE[i][0]; // if (UDOD.style && UDOD.style[i] == UDE[i][0]) { //判断元素的样式是否已经存在 // _UKE[i] = UDE[i][1]; // } // else { // //子元素设置样式 // for (j = 0; j < _UDAD.length; j++) { // if (_UDAD[j].style && _UDAD[j].style[i] == UDE[i][0]) { // _UKE[i] = UDE[i][1]; // break; // } // } // } // } // } // } // //设置只有块状元素才能设置的样式 // if (_UDPD.style) { U.selectEl(_UDPD).addAttrArray({ "style": _UCE }) }; // //所有元素设置指定的样式 // U.selectEl(UDOD).addAttrArray({ "style": _UKE }); // U.selectEl("*", UDOD).addAttrArray({ "style": _UKE }); // }, // /** // * 获取光标据制定元素所在的位置 // * // * @param {element} 指定的元素 // * @param {boolean} 获取到指定的元素的开头的范围 // * @return {number} 范围 // */ // GetGBWZ: function (UDOD, UTF) { // var _USE, _URE, _UDTD; // if (window.getSelection) {//HTML5 // _USE = this.CW.getSelection(); // _URE = _USE.rangeCount ? _USE.getRangeAt(0) : this.R; // return UTF ? _URE.startOffset : _URE.endOffset; // } // else { //ie // try { // UDOD = UDOD || this.Parent(); // _URE = this.QX(0, 0, UDOD); // _URE.setEndPoint("EndTo" + (UTF ? "Start" : "End"), this.R); // return (_UDTD = $$("div", // { // "innerHTML": _URE.htmlText // })).innerText.length + ($("img", _UDTD).length); // } catch (e) { } // } // return 0; // }, // /** // * 获取光标据制定元素所在的位置 // * // * @param {element} 指定的元素 // * @param {boolean} 获取到指定的元素的开头的范围 // * @return {number} 范围 // */ // getBoundingClientRect: function () { // if (window.getSelection) {//HTML5 // return this.R.getBoundingClientRect(); // } // else { // return { // bottom: this.R.P.boundingBottom, // height: this.R.P.boundingHeight, // left: this.R.P.boundingLeft, // right: this.R.P.boundingRight, // top: this.R.P.boundingTop, // width: 1, // x: this.R.P.boundingLeft, // y: this.R.P.boundingTop // }; // } // }, // /** // * 判断是否在相同的范围 // * // * @param {object} range 光标对象 // * @return {booean} 是否在指定的范围中 // */ // IsP: function (UDR) { // if (!UDR) { return true; } // if (window.getSelection) { // var _UDE = document.getSelection(); // return (!_UDE.rangeCount || ((_UDE = _UDE.getRangeAt(0)) && UDR.endContaine == _UDE.endContaine && UDR.startContaine == _UDE.startContaine && UDR.endOffset == _UDE.endOffset && UDR.startOffset == _UDE.startOffset)); // } // else { // try { // return UDR.isEqual(document.selection.createRange()); // } catch (e) { } // } // return false; // }, // /** // * 判断元素是否在指定区域 // * // * @param {object} range 光标对象 // * @return {booean} 是否在指定的范围中 // */ // isE: function (UDOD) { // if (window.getSelection) { //HTML5 // return this.S.containsNode(UDOD, true); // } // else { // _URE = document.body.createTextRange(); // try { // _URE.moveToElementText(UDOD); // return this.R.inRange(_URE); // } // catch (e) { // return false; // } // } // }, // /** // * 选取元素计算长度 // * // * @param {object} 元素 // * @return {number} 元素文字的长度 // */ // getLen: function (UDOD) { // // return U.selectEl("img", UDOD).length + UDOD.innerText.length; // }, // //#region 前进后退处理区域 // /** // * 输入等待添加前进后退 // * // * @param {obnject} U.UF.E.SelectionRange的派生对象 // * @return {funciotn} 光标记录回调函数 // */ // ADQJ: function (UDR) { // clearTimeout(this.TIM[0]); //清除等待 // this.TIM[0] = setTimeout((this.TIM[1] = function () { this.ADQJS("", UDR); }), 500); //等待生成记录 // return this.TIM[1]; //返回回调 // }, // /** // * 添加前进后退记录 // * // * @param {string} 前进后退记录的内容 // * @param {object} U.UF.E.SelectionRange的派生对象 // */ // ADQJS: function (UHT, UDR) { //判断添加 // clearTimeout(this.TIM[0]); //清除等待 // this.TIM = []; //记录前进后退的对象 // this.JHGB(UHT, UDR, this); //记录 // }, // /** // * 记录前进后退(每一次结束自动创建) // * // * @param {string} 前进后退记录的内容 // * @param {object} U.UF.E.SelectionRange的派生对象 // * @param {object} 当前使用的this对象 // */ // JHGB: function (UHT, UDR, UE) { // var _UTF = this.TF, //标记 识别id // _UDE = this.OAT[_UTF], //获取识别id下的光标对象 // _UKE = this.IsP(_UDE[_UDE.l]["OR"]["R"]); //判断光标是否上次记录的范围 // if (!_UKE && _UTF) { this.AddHT(UHT, UDR, UE) }; //如果没有记录该光标 记录 // }, // /** // * 添加前进后退区域 直接传参记录 // * // * @param {string} 前进后退记录的内容 // * @param {object} U.UF.E.SelectionRange的派生对象 // * @param {object} 当前使用的this对象 // */ // AddHT: function (UHT, UDR, UE) { // var i, _UTP, // _UTF = this.TF, //识别id // _UDE = this.OAT[_UTF], //识别id下前进后退所有的对象 // _UOE = _UDE[_UDE.l]; //当前前进后退所在的对象 // _UDE.l++; //生成新的对象的位置 // _UDE.splice(_UDE.l, _UDE.length - _UDE.l, (_UTE = { "OR": new this.init(UE, false), "C": (UHT || "") })); //添加新的前进后退对象 // if (window.getSelection) { //html5 光标保存 // _UOE["OR"]["R"].setEnd(_UTE["OR"]["R"].startContainer, _UTE["OR"]["R"].startOffset); // } // else { //ie位置大小保存 // _UTE = ["boundingWidth", "offsetLeft", "boundingLeft", "boundingTop", "offsetTop", "boundingHeight"]; //这里为光标的位置记录 // _UOE.P = {}; // for (i = 0; i < _UTE.length; i++) { //循环记录光标 // _UOE.P[_UTE[i]] = _UOE.OR.R[_UTE[i]]; // } // } // }, // /** // * 失去焦点的时候保存 // * // * @param {element} 需要粘贴到的元素 // */ // Brul: function () { // if (this.TIM[1]) { this.TIM[1]() }; // } // //#endregion //} ////前进后退的处理 需要修改 //U.UF.E.SORange.init.prototype = U.UF.E.SORange; ////前进后退处理函数区域 ////#region 编辑器提供的接口处理区域 ///** //* 设置选择区域的样式处理 //* //* @param {element} 编辑元素 //* @param {element} 需要修改的样式集 //* @param {element} 光标方法集合对象 //* @param {element} 光标所在的域的识别id //* @return {element} 需要粘贴到的元素 //*/ //U.UF.E.FontSizeType = function (UDOD, USE, UDE, UTF) { // UDE = UDE || U.UF.E.GetSelectionRange(window, UDOD, { "TF": UTF || "QL" }); //获取光标方法集 // var i, _UFT, // _UST = "", //获取设置样式后的html值 // _UKE = {}, //最终修改样式的值 // _UDPD = UDE.Parent(), //获取父亲层 // _UTH = UDE.GetSelectedHtml(); //选择的元素 // //获取可设置样式的层 // while (!_UDPD.tagName) { // _UDPD = U.selectEl(_UDPD).Parent(); // } // //样式设置 // for (i in USE) { // if (USE.hasOwnProperty(i)) { // USE[i] = typeof USE[i] == "object" ? USE[i] : [USE[i], USE[i]]; // _UKE[i] = USE[i]; // } // } // //有选取 // if (_UTH) { // _UST = UDE.SetStyle(_UTH, USE); // USE = USE; // } // else { // UDE.writeStyle(UDE.Parent(null, true), USE); // } // UDE.Replace(_UST, null, _UST ? null : true); // return UDE; //生成添加的内容 //} ////#endregion //////键盘检查器 ////U.UF.E.codeDetect = (function () { //// var _UKE = { 3: "Enter", 8: "Backspace", 9: "Tab", 13: "Enter", 16: "Shift", 17: "Ctrl", 18: "Alt", 19: "Pause", //// 20: "CapsLock", 27: "Esc", 32: "Space", 33: "PageUp", 34: "PageDown", 35: "End", 36: "Home", 37: "Left", //// 38: "Up", 39: "Right", 40: "Down", 44: "PrintScrn", 45: "Insert", 46: "del", 48: "0", 49: "1", 50: "2", 51: "3", 52: "4", 53: "5", 54: "6", 55: "7", 56: "8", 57: "9", 59: ";", 65: "A", 66: "B", 67: "C", 68: "D", 69: "E", 70: "F", 71: "G", 72: "H", 73: "I", 74: "J", 75: "K", 76: "L", 77: "M", 78: "N", 79: "O", 80: "P", 81: "Q", 82: "R", 83: "S", 84: "T", 85: "U", 86: "V", 87: "W", 88: "X", 89: "Y", 90: "Z", 91: "Mod", 92: "Mod", 93: "Mod", 107: "=", 109: "-", 112: "F1", 113: "F2", 114: "F3", 115: "F4", 116: "F5", 117: "F6", 118: "F7", 119: "F8", 120: "F9", 121: "F10", 122: "F11", 123: "F12", 127: "del", 186: ";", 187: "=", 188: ",", 189: "-", 190: ".", 191: "/", 192: "`", 219: "[", 220: "\"", 221: "]", 222: "'", 63232: "Up", 63233: "Down", 63234: "Left", 63235: "Right", 63236: "F1", 63237: "F2", 63238: "F3", 63239: "F4", 63240: "F5", 63241: "F6", 63242: "F7", 63243: "F8", 63244: "F9", 63245: "F10", 63246: "F11", 63247: "F12", 63272: "del", 63273: "Home", 63275: "End", 63276: "PageUp", 63277: "PageDown", 63302: "Insert" //// }, //// _USE = { "alt": [[37, "goLineStart"], [38, "goDocStart"], [39, "goLineEnd"]], "ctrl": [[65, "selectAll"], [8, "delGroupBefore"], [67, "copy"], [86, "paste"], [68, "deleteLine"], [46, "delGroupAfter"], [40, "goDocEnd"], [63275, "goDocEnd"], [70, "find"], [71, "findNext"], [63273, "goDocStart"], [37, "goGroupLeft"], [39, "goGroupRight"], [83, "save"], [89, "redo"], [90, "undo"], [219, "indentLess"], [221, "indentMore"]], "shift-ctrl": [[70, "replace"], [71, "findPrev"], [82, "replaceAll"], [90, "redo"]] }, //// _ = function (UDE) { return new _.init(UDE); }; //初始化查看使用 //// U.UF.C.AddObj(_, _.prototype = { //// init: function (UDE) { //初始化检测器 //// UDE = UDE || {}; U.UF.C.AddObj(this, UDE); (UDE.el) && (this.bind(UDE.el)); //// }, //// bind: function (UDOD) { //绑定函数时间 //// U.selectEl(UDOD).bind({ keydown: function () { //// this.down(); //// } //// }); //// }, //// down: function () { //键盘事件 //// if (this.cb) { this.cb.call(this, this.getValue(), this.el) }; //// }, //// getValue: function () { //根据输入获取检测器值 //// var i, j, _UGE, _UCE, e = event, k = e.keyCode; //基础编辑器快捷键 //// _UGE: for (i in _USE) { //// if (_USE.hasOwnProperty(i)) { //// _UCE = i.split("-"); for (j = 0; j < _UCE.length; j++) { //// if (!e[_UCE[j] + "Key"]) { //// continue _UGE; //// } //// } //// for (j = 0; j < _USE[i].length; j++) { //// if ((_UCE = _USE[i][j])[0] == k) { //// return _UCE[1]; //// }; //// } //// } //// } //// return [k, e.altKey, e.ctrlKey, e.shiftKey, _UKE[k] || ""]; //// }, //// set: function () { //键盘设置 允许自定义键监视 //// } //// }); //// _.init.prototype = _; return _; ////})() // var _dirid, _userid = US.userInfo.userid; // if (U.MD.DK.C.getDirectoryPermissions(null, null, UDE)[4]) {//本人才允许重命名 // UDOD.innerText = ""; // (_dirid = $$("input", { // "ondblclick": U.UF.EV.stopBubble, // "onblur": function () { // U.MD.DK.RE.detemineReName(this, UDE, UDE.UserId || _userid); // }, // "onclick": U.UF.EV.stopBubble, // "className": "U_MD_U_P_C_P_N_I", // "value": UDE["UserallDirectoryName"].replace("." + UDE["UserDirectoryExtendType"], "") // }, UDOD)).select(); // _dirid.onkeyup = function () { // if (event.keyCode == 13 || event.keyCode == 10) { // _dirid.onblur(); // } // }; //回车修改 // } // else { // U.alert("拒绝访问"); // } // var _startlineel, //选取的开始行元素 这里的话是div、p标签 // _endlineel, //选取的结束的行元素 这里的话是div、p标签 // _nextel, //循环改变样式的下级元素 // _startel = range.startContainer, //开始元素 // _endel = range.endContainer, //结束元素 // _startoffset = range.startOffset, //开始位置 // _endoffset = range.endOffset; //结束位置 // //得到选择开始元素的行元素 // _startlineel = U.UF.E.getLineElement(_startel); // //得到选择的结束元素的行元素 // _endlineel = U.UF.E.getLineElement(_endel); // if (_startlineel == _endlineel) { // U.UF.E.setRangeStyle(attr, range); // } // //循环的给每一行的元素处理样式 // else { // _nextel = _startlineel; // while () { // // var _nowRang =document.createRange(); // // U.UF.E.setRange(_nextel.firstChild, _nextel.lastChild, 0, _nextel.innerText.length, _nowRang); // U.UF.E.modifyContent(attr, range); //// _nextel != _endlineel //// _nextel = _nextel.nextSibling // } // } //#region 设置文件加密 //设置文件加密 U.MD.DK.RE.encryption = function (UDE) { var _UKE = U.MD.DK.C.getDirectoryPermissions(null, null, UDE), _diskinfo = US.disk.UserDisk; if (_UKE[2][_UKE[2].length - 1].GroupID == null && _UKE[4]) { //判断是否允许修改 U.MD.DK.RE.SHEW(UDE.UserDirectoryEncrypt ? false : true, UDE.UserDirectoryID, U.selectEl("#U_MD_DK" + (_diskinfo[2] ? "O" : ""), _diskinfo.formel)[0]); } } //加密解密窗体 U.MD.DK.RE.SHEW = function (UTF, UDID, UDPD) { var _el, _UDTD, _UW = 280, _UH = 180; if (UTF) { _el = $$("div", { "className": "U_MD_DK_JM" }); _UDTD = $$("div", { "className": "U_MD_DK_JMO" }, _el); } else { _UDTD = $$("div", { "className": "U_MD_DK_JMA" }); _UH = 125; } $$("span", { "className": "U_MD_DK_JMOS", "innerHTML": "输入密码:" }, _UDTD); $$("input", { "className": "U_MD_DK_JMOI", "type": "password" }, _UDTD); //密码框 if (UTF) { _UDSD = $$("div", { "className": "U_MD_DK_JMOT" }, _el); $$("span", { "className": "U_MD_DK_JMOS", "innerHTML": "确认密码:" }, _UDSD); $$("input", { "type": "password", "className": "U_MD_DK_JMOI" }, _UDSD); } //加密的框 U.MD.DK.RE.Prompt("文件夹" + (UTF ? "加密" : "解密"), _UH, _UW, _el || _UDTD, function () { U.MD.DK.RE.ETUE(UTF, UDID); }, UDPD || US.disk.UserDisk[1][3]); //设置 } //加密的接口 U.MD.DK.RE.ETUE = function (UTF, UDID) { var _dirid = U.selectEl("input", this), _UM = _dirid[0].value, _UTM = UTF ? _dirid[1].value : _UM; if (_UM.isStrNull() && _UM == _UTM) { U.A.Request(US.AUTH, [(UTF ? "DirectoryEncrypt" : "DirectoryDecrypt"), UDID, _UM], U.MD.DK.RE.AsynETUE, ["", UTF, UDID]); } else { U.alert("输入的内容有误"); } } //加密解密的异步 U.MD.DK.RE.AsynETUE = function (r) { var _context = r.context, _UTF = _context[1], _dirid = _context[2], _UV = _context[3], _diskinfo = US.disk.UserDisk, _fileinfo = U.Json.select(_diskinfo[0], { "UserDirectoryID": _dirid })[0]; r = r.value; // _UV = _UV == true ? "" : _UV; if (r) { if (_fileinfo) { _fileinfo.UserDirectoryEncrypt = _UV == null ? r : _UV; _fileinfo.UserDirectoryExtendType = _UTF === true ? "folderencrypt" : "folder"; U.MD.DK.RE.AsynWPWJJM(_fileinfo, _UV); } //文件加密异步 } else { U.alert("设置失败"); } //设置权限或者加密解密 } //设置文件加密异步 U.MD.DK.RE.AsynWPWJJM = function (UDE, UTF) { var i, _UCE = ["R", "L"], _dirid = UDE.UserDirectoryID; UTF = UTF ? ["U_MD_DK_RZOM", "U_MD_DK_LCJ"] : ["U_MD_DK_RZOW", "U_MD_DK_LCW"], _diskinfo = US.disk.UserDisk; for (i = 0; i < _UCE.length; i++) { (_UDCD = U.selectEl("#" + _UCE[i] + _dirid, _diskinfo.formel)[0]); if (_UDCD) { U.selectEl("div", _UDCD)[i + 1].className = (i ? "U_MD_DK_LCOI U_MD_DK_LTXOST U_Img " : "U_MD_DK_RZOS U_Img ") + UTF[i] }; } } //#endregion //链接形式点击查看Word资料,例1: /Controls/WordEditArea.htm?ID=a0373130-be97-db03-4e74-9967c1038d13 //例2:a0373130-be97-db03-4e74-9967c1038d13.1473.cn //例3:短域名 example.1473.cn window.onload = function () { U.UF.F.clickTopWindow(); //让弹框置顶。 if (window.print) { //判断是否有右键菜单 document.oncontextmenu = U.UF.EV.stopDefault; //阻止桌面右键默认菜单 } document.onselectstart = U.UF.C.shieldedSelect; //禁止文本选择处理 U.UF.EV.addElementEvent("keydown", document, U.UF.C.shieldedBackspace); //禁止浏览器回退 var _fileid = U.UF.C.queryString("ID"); //获取登录着id if (_fileid) { parent.U.A.Request(US.AUTH, ["GetFileContent", _fileid], U.MD.O.W.AsynGOF, [[$("body")[0], true]]); }; } //获取文件异步 U.MD.O.W.AsynGOF = function (r, UDOD) { var _result = r.value.UsOffice || ""; //或者的作用是:右键新建word,没有保存时给""。 //设置内容为空。 //$("body").addAttrArray({ "style": {}, "innerHTML": "" }); U.UF.C.loadJs(document.body, _result); return true; } //#region /** * 初始化Word,//创建光标,监控键盘输入(包含粘贴板,回车,删除,分页等系统操作),等。 * * @param {object} 文档信息 或 null */ U.MD.O.W.OLWord = function (fileinfo) { var i, _content, //word文件内容保存在这里 _cursor; //光标 //得到可编辑区域变量 var _child = U.selectEl("#U_MD_O_W_E_body").Child(); var _editarea = U.selectEl(_child[_child.length - 1]).Child()[1]; //可编辑区域,是_content的父亲 //廖泽愈写的,要放到其他位置。视图生成 // U.MD.O.W.ViewDisplayon(); //视图关闭 // U.MD.O.W.ViewDisplayc(); // //新建文件没有文件内容,所以需要判断,以后可以再考虑。 if (!fileinfo) { _content = _editarea.innerHTML; } else { _content = fileinfo["UsOffice"]; } // U.MD.O.W.AsynGetTemp(_content); //异步加载模板原型 //默认设置可编辑为true U.selectEl(_editarea).addAttrArray({ "innerHTML": "", "contentEditable": "true" }); //得到整理好的内容,以便插入光标在末尾 _content = U.MD.O.W.lastContent(_editarea, _content); //创建光标的地方 //同时也是出了键盘事件的地方,U.MD.O.W.Keyboard是键盘事件,作为回调函数传递给光标进行处理。 ////把键盘事件和光标一起绑定,因为要使用光标的地方全部都要监控键盘输入输出,所以绑定在一起,如果有机会,可以独立。 //监控键盘输入(包含粘贴板,回车,删除,分页等系统操作),等。 _cursor = U.MD.O.W.T.WFocus(_editarea, _content, U.MD.O.W.Keyboard); //编辑绑定 // //???????????前面是聚焦还是已经插入光标 // //找到子元素,实质是向子元素追加光标 // _editarea = U.selectEl(_editarea).Child(); // //插入光标到指定位置。 // _cursor.QX(1, 1, _editarea[_editarea.length - 1]); // //保存光标变量。 // _cursor.CreateR(); } //得到整理好的内容,以便插入光标在末尾 U.MD.O.W.lastContent = function (_editarea, content) { var _tmp; var _content = content; //如果word有内容,则自动排版分页,目的是得到内容,正常显示,以便创建光标时正常写入,把光标放入最末尾。 if (_content) {//内容插入 _tmp = U.selectEl($$("div", { "innerHTML": _content })).Child(); for (i = 0; i < _tmp.length; i++) { if (_tmp[i].className == "U_MD_O_H_body_main_m") { _content = ""; if (!i) { _editarea.innerHTML = U.selectEl(_tmp[i]).Child()[1].innerHTML; } else { //这部分处理的是当word编辑器没有内容时的分页,从数据库加载大数据内容时还不能实现,使用U.MD.O.W.PageData做分页处理。 U.MD.O.W.Page($(_editarea).Parent(), null, U.selectEl(_tmp[i]).Child()[1].innerHTML); //生成下一页 } } } } else { //空文字处理 _content = "