c k e d i t o r
2015-11-20 19:03
351 查看
解決ckditor传路径的问题:
处理在url中提取一个变量//begin andy Add function queryString(url, val) { var re = new RegExp("" +val+ "=([^&?]*)", "ig"); return ((url.match(re))?(url.match(re)[0].substr(val.length+1)):null); } //end andy Add
变量申明
//begin andy Add var imageLeftInputId = ""; //图片tab左边的url的input var imageRightInputId = ""; //图片tab右边的url的input var linkInputId = ""; //超链接里边的url的input var allSwitch = !1; //总开关,初始化是关闭的,只有在开启的情况下才可能去捕获input的值 var linkSwitch = !1; //【超链接】的开关,只有在开启的情况下,才可以去捕获【超链接】的input的值 var imageSwitch = !1; //【圖片】的开关,只有在开启的情况下,才可以去捕获【圖片】的input的值 var readOne = !1; //只读一次 var imageCounter = 0; //当前图片input框计数器 //end andy Add
获取input的ID中的内容,在后面触发事件的时候,用jquery通过ID去获取input内的值
if(allSwitch){ //begin andy Add if(linkSwitch){ if(readOne){ linkInputId = f; linkSwitch = !1; readOne = !1; allSwitch = !1; } }else if(imageSwitch){ if(readOne){ if(imageCounter == 0){ imageLeftInputId = f; } if(imageCounter == 7){ imageRightInputId = f; imageCounter = 0; imageSwitch = !1; readOne = !1; allSwitch = !1; } imageCounter++; } } } //end andy Add
function m() { $(document).trigger("custom");//触发自定义的事件 //begin andy add var a = this.getDialog(), c = a.getParentEditor();//源码本身的 var appendValue = "";//append到原url上的字符串 var name = a._.name; if(name == "image"){//當前打開的是【圖片】的dialog,還是【超鏈接】的dialog var currentTabId = a._.currentTabId; if(currentTabId == "info"){ var imageLeftUrl = $("#" + imageLeftInputId).val(); var path = queryString(imageLeftUrl, "path"); appendValue = (path ? ("&" + "path=" + path.substring(1, path.length)) : ""); }else if(currentTabId == "Link"){ var imageRightUrl = $("#" + imageRightInputId).val(); var path = queryString(imageRightUrl, "path"); appendValue = (path ? ("&" + "path=" + path.substring(1, path.length)) : ""); } }else if(name == "link"){ var linkUrl = $("#" + linkInputId).val(); var path = queryString(linkUrl, "path"); appendValue = (path ? ("&" + "path=" + path.substring(1, path.length)) : ""); } //end andy add c._.filebrowserSe = this; var d = c.config["filebrowser" + k(a.getName()) + "WindowWidth"] || c.config.filebrowserWindowWidth || "80%", a = c.config["filebrowser" + k(a.getName()) + "WindowHeight"] || c.config.filebrowserWindowHeight || "70%", b = this.filebrowser.params || {}; b.CKEditor = c.name; b.CKEditorFuncNum = c._.filebrowserFn; b.langCode || (b.langCode = c.langCode); console.log("this.filebrowser.url + appendValue:" + this.filebrowser.url + appendValue); b = g(this.filebrowser.url + appendValue, b);//andyChange c.popup(b, d, a, c.config.filebrowserWindowFeatures || c.config.fileBrowserWindowFeatures) }
解決ckeditor中,焦點重新定位的問題
var selection = ed.getSelection(); var bookmarks = selection.createBookmarks(true); //delete text from editor var range = selection.getRanges()[0]; range.moveToBookmark(bookmarks[0]); range.select();
相关文章推荐
- Android app的文件缓存目录
- 年轻人累不死,但会闲死
- CentOS 7 安装配置 mongodb 3.0.7
- PHP Fatal error: Call to undefined function curl_init() in xxx
- 在线画图工具 免费
- php 截取视频图片
- 自己整理的计算机视觉领域稍微容易中的期刊(第一版)
- 【ThinkPHP】分页写法
- 设置活动窗口 AttachThreadInput SetForegroundWindow
- JAVA架构师
- 树状数组+dp(不太懂) Codeforces 597C
- java 类文件类型
- socket与TCP/IP协议族的关系
- AngularJS进阶(七)实现根据不同条件显示不同控件
- 几个python语法知识(一)
- AngularJS进阶(七)实现根据不同条件显示不同控件
- 【面试】Handler机制与通信的实现
- VS2013和VS2008项目的互通
- 判断两个时间段是否重合
- 使用libtomcrypt时候出现无法找到rijndael_enc_desc问题解决方法