`
可爱の小猪
  • 浏览: 106991 次
  • 性别: Icon_minigender_1
  • 来自: 南充
社区版块
存档分类
最新评论

163编辑器

阅读更多

163Editor编辑器的源代码结构






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





如163Editor 中:( 163Editor.html )



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

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

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



打开editor.html,



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



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

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

Html代码
<div id="divEditor"> 
            <SCRIPT LANGUAGE="JavaScript"> 
                <!--  
                if (document.all) {  
                    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>');  
                }  
                else {  
                    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>');  
                }  
                //--> 
            </SCRIPT> 
        </div> 
        <SCRIPT LANGUAGE="JavaScript"> 
            <!--  
            if (document.all) {  
                document.write('<textarea ID="sourceEditor" style="height:280px;width:100%;display:none">');  
            }  
            else {  
                document.write('<textarea ID="sourceEditor" style="height:282px;width:100%;display:none">');  
            }  
              
            //--> 
        </SCRIPT> 

<div id="divEditor">
            <SCRIPT LANGUAGE="JavaScript">
                <!--
                if (document.all) {
                    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>');
                }
                else {
                    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>');
                }
                //-->
            </SCRIPT>
        </div>
        <SCRIPT LANGUAGE="JavaScript">
            <!--
            if (document.all) {
                document.write('<textarea ID="sourceEditor" style="height:280px;width:100%;display:none">');
            }
            else {
                document.write('<textarea ID="sourceEditor" style="height:282px;width:100%;display:none">');
            }
           
            //-->
        </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 中的全局变量:



Js代码
var gSetColorType = "";   
      //document.all是ie浏览器特有的属性  gIsIE用于判断当前浏览器是否是IE  
var gIsIE = document.all;   
var gIEVer = fGetIEVer();     //获取当前使用的IE的version  
//页面是否全部加载完毕,包括所有图片和文字。     
//gLoaded的属性在window.onload = function(){……}执行后变为true      
var gLoaded = false;            
var ev = null;  
 
入口函数:  
/* 
* 当前页面中的全部内容都加载完毕后,执行这个函数 
*/ 
window.onload = function()  
{  
    try{  
        gLoaded = true;      //把这个量的值改成true,表示页面已经加载完毕了  
        fSetEditable();      //把页面上的指定的iframe变成编辑模式  
        fSetFrmClick();        
        ResetDomain();      
        fSetHtmlContent();  
        top.frames["jsFrame"].fHideWaiting();  
    }  
    catch(e)  
    {  
        // window.location.reload();  
    }  
}  
  
分享到:
评论

相关推荐

    php类似163编辑器

    PHP类似163编辑器,也称为HtmlEditor,是一种适用于Web开发的富文本编辑器,它为用户提供了类似于Microsoft Word的界面,使得在网页上创建、编辑和格式化文本变得简单易行。这个编辑器通常用于内容管理系统(CMS)、...

    163在线编辑器

    【163在线编辑器】是一款模仿网易163邮箱提供的在线文本编辑工具,它集成了HTML和CSS技术,使得用户无需安装任何软件,只需通过浏览器就能进行文档的编辑、排版和格式化操作。这款编辑器适用于创建邮件、编写文章、...

    163邮箱编辑器下载

    163编辑器的设计理念是提升用户体验,使得在网页端编辑邮件内容时,可以像使用桌面应用程序一样方便。 【163网页编辑器】是163邮箱编辑器的一个分支,它特别针对网页内容的创建和编辑而优化。这款编辑器集成了HTML...

    EB163 45度地图编辑器

    在这样的游戏中,地图设计需要考虑地形、障碍物、路径等因素与45度视角的契合,EB163编辑器则提供了专门针对这一视角的编辑功能。 编辑器安装包的提供,意味着用户无需复杂的配置和编译过程,可以直接进行安装并...

    各种网页编辑器(163. qq)

    本主题将深入探讨163、QQ以及126等网页编辑器的相关知识点。 1. **163Editor**: 163邮箱提供的网页编辑器,通常用于撰写邮件或管理个人空间的内容。它具有丰富的文本格式化选项,图片上传功能,以及链接添加等基本...

    编辑器(163、新浪(能上传本地图片)、qq)

    这里我们将深入探讨三款常见的编辑器:163编辑器、新浪编辑器(能上传本地图片)以及QQ编辑器。 1. **163编辑器** 163编辑器是一款广泛应用于新闻网站、博客和个人网站的内容创作工具。它以其简洁的界面和丰富的...

    在线编辑器,163,网易等

    5. **163编辑器上传**:163邮箱的编辑器在邮件撰写时提供方便的文本编辑功能,同时也可能包含文件上传功能,方便用户发送带有附件的邮件。163编辑器注重用户体验,操作简便,且与163邮箱的其他功能紧密集成。 6. **...

    Eb163MapEditor

    《EB163 MapEditor:开源游戏地图编辑器的创新与实践》 EB163 MapEditor是由eb163.com的研发团队精心打造的一款专为Flash游戏设计的45度视角地图编辑器。这款编辑器是在原有的HeptaFish MapEditor基础上进行升级...

    163文本编辑器

    【163文本编辑器】是一款由网易公司推出的高效便捷的文本编辑工具,以其简洁的界面、丰富的功能和良好的用户体验赢得了用户的青睐。这款编辑器专为日常文本处理和写作需求设计,尤其适合需要大量文字输入的用户,如...

    163编辑器带上传本地图片功能JSP版

    支持本地图片上传,点编辑器中的添加连接就行了,就是把添加添连接改成添加本地图片上传了 完全兼容IE678,火狐,图片中的源码显示路径为相对网站的根目录,这样更换域名就不存在路径找不到的问题了

    163HtmlEditor html编辑器

    本文将深入探讨“163HtmlEditor”这款编辑器,它以其丰富的功能和便捷的操作赢得了众多用户的青睐。163HtmlEditor.rar文件包含了该编辑器的主要组件,包括index.html启动页面,163HtmlEditor说明.txt提供详细使用...

    SMS系统163在线编辑器使用

    博文链接:https://zzwwyf.iteye.com/blog/231513

    163的web编辑器

    163的Web编辑器,通常指的是网易公司开发的一款在线文本编辑工具,广泛应用于新闻发布、内容创作等场景。这款编辑器以其易用性、功能丰富和兼容性好等特点,深受用户喜爱。以下是对163Web编辑器的详细解析: 一、...

    163 邮箱编辑器 邮箱编辑器

    【163邮箱编辑器详解】 163邮箱编辑器是一款专为网易163邮箱用户设计的增强型邮件编辑工具。它旨在提供一个更为高效、便捷的邮件撰写环境,帮助用户在处理日常电子邮件时提高工作效率。这款编辑器通常包含了丰富的...

    163邮件编辑器(全)

    163邮件编辑器是一款专为163邮箱用户设计的增强型邮件撰写工具,它提供了丰富的功能,帮助用户更高效、更具个性化地编辑和发送电子邮件。这款编辑器旨在优化用户体验,提供比默认邮件系统更高级的编辑选项,使得邮件...

    163Editor.rar

    《163Editor:一款简易在线编辑器的深度解析》 163Editor,作为网易公司推出的一款在线编辑器,以其简洁的操作界面和强大的编辑功能,深受广大用户的喜爱。这款编辑器不仅适用于日常的文字处理,还能够满足轻量级的...

    众多的文本编辑器.rar

    "众多的文本编辑器.rar"这个压缩包文件显然包含了一些流行的文本编辑器,如QQ和163编辑器,旨在提供给需要的用户多样化选择。这些编辑器可能具有不同的特性和功能,以适应不同的使用场景和用户需求。 首先,我们要...

Global site tag (gtag.js) - Google Analytics