不一样的在线编辑器
来源:互联网 发布:do it 编辑:程序博客网 时间:2024/04/29 21:30
前一段時間一直在開發考試系統,出題部分需要在線編輯器,那麼道選當然是FCKEditor編輯器,FCK好是好,但也太龐大了,很多功能都用不上,而且非常消耗資源。如果一個頁面有幾個FCK插件那物理內存大半要給吃掉了,無耐了一陣子,去網上繼續找,始終找不到一個合適的編輯器,只好自己寫一個了。
第一步,必備知識Document.exeCommand的用途。
在線編輯器的一般功能直接有Document.exeCommand可以實現。比如:複製、剪切、粘貼、項目符號等等。
第二步,排除耗資源的源頭,用DIV代替IFrame。
DIV標籖中加多contentEditable屬性後就可以像文本域一樣可編輯了。
當在可編輯的DIV中直接按回車是插入<p>而不是<br>,在DIV的onkeydown事件調用下面的函數即可:
1function edit(){
2 if(event.keyCode==13){
3 var textRange=document.selection.createRange();
4 textRange.text="/r/n";
5 textRange.select();
6 event.returnValue=false;
7 }
8}
第三步,輕鬆解決圖像上傳功能。
將圖像插入DIV中,代碼如下:
1function loadIMG(path,parObj) { //path是圖片的路徑,parObj是Div的對象
2 var oImg=document.createElement("IMG");
3 oImg.src=path
4 oImg.align="center";
5 parObj.appendChild(oImg);
6}
第四步,提交DIV中的內容。
雖然DIV包括在表單中,但提交表單的時候DIV是不被提交的,這時,需要用一個Hidden文件框要輔助,代碼如下:
1function divToHid(hidName,divName) { //hidName為Hidden方本框的ID值,divName為DIV的ID值
2 document.getElementById(hidName).value=document.getElementById(divName).innerHTML;
3}
經過以上四步,一個簡單的在線編輯器就完成了。優點在於消耗資源極小,加載速度極快,代碼和原理清晰明朗。
- 不一样的在线编辑器
- sina的在线编辑器
- FCKeditor在线编辑器的使用
- FCKeditor在线编辑器的使用
- 一些在线的WebEdit编辑器
- FCKeditor在线编辑器的使用
- 在线编辑器FreeTextBox的使用
- 在线编辑器 FCKeditor 的应用
- HTML在线编辑器的基本概念
- FCKeditor在线编辑器的使用
- FCKeditor在线编辑器的使用
- 简单在线编辑器的使用
- FCKeditor在线编辑器的使用
- FCKeditor在线编辑器的使用
- FCKeditor在线编辑器的使用
- FCKeditor在线编辑器的使用
- FCKeditor在线编辑器的使用
- 功能强大的在线网页编辑器
- RFC双语计划:rfc2283中文版(中英文对照)............BGP-4的多协议扩展
- RFC双语计划:rfc2326中文版(中英文对照)............实时流协议(RTSP)
- RFC双语计划:rfc2328中文版(中英文对照)............OSPF版本2
- RFC双语计划:rfc2516中文版(中英文对照)............在以太网上传输PPP的方法(PPPoE)
- RFC双语计划:rfc2526中文版(中英文对照)............IPv6保留的子网任意传送地址
- 不一样的在线编辑器
- RFC双语计划:rfc2547中文版(中英文对照)............BGP/MPLS VPNs
- RFC双语计划:rfc2616中文版(中英文对照)............超文本传输协议——HTTP/1.1
- RFC双语计划:rfc2702中文版(中英文对照)............基于MPLS的流量工程要求
- RFC双语计划:rfc2706中文版(中英文对照)............RFC2706—电子商务域名标准
- RFC双语计划:rfc2764中文版(中英文对照)............IP VPN的框架体系
- python 调用windowsAPI创建应用程序
- 集成ACEGI 进行权限控制
- AJAX: A Beginner's Guide