163的在线编辑器简析和配置使用

简介:

 fck的功能确实很多,这个163的编辑器也是小网站不错的选择。
附件中有163编辑器的源代码。

163Editor 编辑器概览
 

163编辑器概览

     编辑器的源代码结构
 

代码结构

不难发现,编辑的页面其实是editor.html.
 

打开editor.html,
 

这个html文件有以下几部分组成:

 

 
  1. <body> 
  2. <table width="100%" border="0" cellpadding="0" cellspacing="0" background="images/bg.gif" …… 
  3. …………………………………………………………………………………… 
  4. 这里的内容请读者自己查看源代码这部分的代码…………………………………………… 
  5. 就是编辑器的工具栏,主要是一些图片按钮以及事件…………………… 
  6. …………………………………………………………………………………… 
  7. …………………………………………………………………………………… 

接下去是编辑区域:

 
  1. <div id="divEditor"
  2.               <SCRIPT LANGUAGE="JavaScript"
  3.                   <!-- 
  4.                  if (document.all) { 
  5.                       document.write('<table width="100%" height:287px border="0" cellspacing="0" cellpadding="0" ><tr><td style="border:1px solid #C5C5C5; border-top:0;"><IFRAME class="HtmlEditor" ID="HtmlEditor" name="HtmlEditor" style=" height:286px;width:100%" frameBorder="0" marginHeight=0 marginWidth=0 src="blankpage.htm"></IFRAME></td></tr></table>'); 
  6.                   } 
  7.                   else { 
  8.                       document.write('<table width="100%" height:288px border="0" cellspacing="0" cellpadding="0" ><tr><td style="border:1px solid #C5C5C5; border-top:0;background-color:#ffffff"><IFRAME class="HtmlEditor" ID="HtmlEditor" name="HtmlEditor" style=" height:283px;width:100%;margin-left:1px;margin-bottom:1px;" frameBorder="0" marginHeight=0 marginWidth=0 src="blankpage.htm"></IFRAME></td></tr></table>'); 
  9.                   } 
  10.                  //--> 
  11.               </SCRIPT> 
  12.          </div> 
  13.          <SCRIPT LANGUAGE="JavaScript"
  14.              <!-- 
  15.              if (document.all) { 
  16.                  document.write('<textarea ID="sourceEditor" style="height:280px;width:100%;display:none">'); 
  17.              } 
  18.              else { 
  19.                  document.write('<textarea ID="sourceEditor" style="height:282px;width:100%;display:none">'); 
  20.              } 
  21.               
  22.              //--> 
  23.           </SCRIPT> 

这是说明几点:

Editor.html 中其实是有两个文本区域,分别是

<IFRAME  ID="HtmlEditor" name="HtmlEditor" 和

<textarea ID="sourceEditor"

 

这里还有一点是:

 

此处的iframe又src了个页面 blankpage.html

 

 

所以,得出一个比较重要的结论:163编辑器的编辑区域中的内容最终是显示blankpage.html中的内容,也就是说用户其实是在编辑这个页面

至此,editor.html

分析editor.html中包含进的几个js文件

script/editfunc.js

这个文件定义了编辑器的几个核心function

这个js中的全局变量:
 

 
  1. var gSetColorType = "";  
  2.       //document.all是ie浏览器特有的属性  gIsIE用于判断当前浏览器是否是IE 
  3. var gIsIE = document.all;  
  4. var gIEVer = fGetIEVer();     //获取当前使用的IE的version 
  5. //页面是否全部加载完毕,包括所有图片和文字。    
  6. //gLoaded的属性在window.onload = function(){……}执行后变为true     
  7. var gLoaded = false;           
  8. var ev = null
  9.  
  10. 入口函数: 
  11. /* 
  12.  * 当前页面中的全部内容都加载完毕后,执行这个函数 
  13.  */ 
  14. window.onload = function() 
  15.     try
  16.         gLoaded = true;      //把这个量的值改成true,表示页面已经加载完毕了 
  17.         fSetEditable();      //把页面上的指定的iframe变成编辑模式 
  18.         fSetFrmClick();          
  19.         ResetDomain();     
  20.         fSetHtmlContent(); 
  21.         top.frames["jsFrame"].fHideWaiting(); 
  22.     } 
  23.     catch(e) 
  24.     { 
  25.         // window.location.reload(); 
  26.     } 

在线html编辑器的原理基本类似,都是iframe标签中用src属性包含一个html文件,用户编辑的时候事实上就是在编辑这个文件。当然,iframe必须为可编辑状态。

如 163Editor中:(163Editor.html)


 

 
  1. <iframe  src="editor/editor.html?id=content"    frameborder="0"   scrolling="no"  width="700" height="320"> </iframe> 

 



本文转自 nileader 51CTO博客,原文链接:http://blog.51cto.com/nileader/302744,如需转载请自行联系原作者

相关文章
|
1月前
|
开发框架 JavaScript 前端开发
百度富文本编辑器配置(vue3)
百度富文本编辑器配置(vue3)
|
6天前
|
Unix Shell Linux
在 Linux 上把 Vim 配置为默认编辑器
在 Linux 上把 Vim 配置为默认编辑器
|
19天前
|
前端开发 数据可视化 API
前端react 18.2整合ckeditor富文本编辑器——配置插件、自定义toolbar工具栏(二)
前端react 18.2整合ckeditor富文本编辑器——配置插件、自定义toolbar工具栏
32 0
前端react 18.2整合ckeditor富文本编辑器——配置插件、自定义toolbar工具栏(二)
|
19天前
|
前端开发 JavaScript CDN
前端react 18.2整合ckeditor富文本编辑器——配置插件、自定义toolbar工具栏(一)
前端react 18.2整合ckeditor富文本编辑器——配置插件、自定义toolbar工具栏
31 0
|
3月前
|
Linux 开发工具 C++
Linux编辑器vim(含vim的配置)
Linux编辑器vim(含vim的配置)
59 0
|
5月前
|
Java
【学习记录】IDEA编辑器 - 类、方法模板配置
【学习记录】IDEA编辑器 - 类、方法模板配置
48 0
【学习记录】IDEA编辑器 - 类、方法模板配置
|
10月前
|
IDE Java 编译器
很多up主都在使用的Editplus,强大的编辑器-并附有编译&执行配置 & java编译(新款发放)
很多up主都在使用的Editplus,强大的编辑器-并附有编译&执行配置 & java编译(新款发放)
|
5月前
|
数据可视化 Linux 开发工具
《Linux从练气到飞升》No.04 Linux编辑器:vim的使用和一键配置
《Linux从练气到飞升》No.04 Linux编辑器:vim的使用和一键配置
44 0
|
5月前
|
小程序 Shell Linux
VI编辑器配置代码高亮
Linux下的VI编辑器和VIM编辑器最大的区别就是VIM编辑器有代码高亮显示。 VI编辑器没有代码高亮显示。 但是习惯了代码高亮显示的我,突然看到了一片一个色儿的代码,让我有点不适应。
87 0
|
7月前
|
Shell Linux 网络安全
git实战—Gerrit配置SSH key & 下载代码到本地 & 使用VScode编辑器编辑提交代码——2023.07
git实战—Gerrit配置SSH key & 下载代码到本地 & 使用VScode编辑器编辑提交代码——2023.07
356 0