前 言
电脑的Ctrl+C和Ctrl+V不知道方便了多少人,就是因为在电脑中所有的东西都是由0和1组成,无论是什么东西,只需要按下Ctrl+C就会让其记住编码格式,然后Ctrl+V用0和1重新按着一定的编码格式排列,这样新的产品就诞生了,也许有一天,当人类破解了万物之密码,也可以就地取材(原子,分子)然后复制出自己想要的事物,包括人见人爱的money。
很多人做网站喜欢去网上找源码,找到符合自己要求的就down下来,改改页面就变成自己的,但随着后期需求的不断增加之前符合自己要求的系统也会逐渐的被自己改的面目全非,而且还经常是改了一个问题从而牵连出其它的问题,我07年从事的公司用过大量网络源码,除了很难维护外还经常受到黑客的攻击,一时半会儿很难找出漏洞,着实让你头疼不已,从那以后我决定不再用现成的代码,一切都自己开发,后来随着水平的提高,现在开发网站几乎感觉不到任何难度,但只有一点是令我一直很头痛的问题,那就是网页编辑器。
我曾经先后换过很多款编辑器,要么不符合自己的要求,要么功能太杂太乱,总之就没有一个能适合自己的,08年用过的编辑器还出现了很多漏洞导致被黑客给网站挂了木马,后来把漏洞修复以后随着浏览器的升级又接二连三的出现过很多问题,从那以后决定自己写一个简单的编辑器,只做自己需要的功能。
ie8下ewebeditor无法解决的问题,通过这篇文章的评论和浏览次数可以发现,单是遇到这样一个简单问题的人就有很多,因为我这篇文章在百度上的排名时间并不是很长,所以不能代表所有遇到此问题的人,但从这一现象可以推测用这个编辑器的人不少。
除了有漏洞,无效等问题以外,还有代码被执行等等很多问题,比如我发布了一些asp或html的源代码到我的文章里,用编辑器编辑好发布之后,等我再次编辑的时候发现,代码竟然被编辑器给执行了,这对于一个经常写技术类文章的人来说确实是很杯具的一件事。
一、了解网页编辑器
我在做自己的网页编辑器之前总以为这东西很难,好像在程序员的大脑里都认为只要是js的东西都很难,所以就懒得去看这些东西,后来有一天我在一个网站上看到了一个特别简易的编辑器之后我把源码down下来仔细的研究了一下才知道,原来这东西一点都不难,下面我就通过我对网页编辑器的认识和大家一起开发一款适用于自己的网页编辑器。
请记住这句话:别人的再好,不如自己的好,别人会,不如自己会。
简单来概括一下网页编辑器是什么:网页编辑器所要实现的功能就是在网页里模拟一个浏览器预览的可编辑环境来对网页要显示的内容进行有效的编排以达到页面美观的目的。
网页编辑器大部分是用js开发的,利用javascript的脚本对编辑器里的文字进行格式的增加删除修改,有部分功能需要配合程序来实现,比如一些敏感词过滤,代码过滤,部分格式过滤,图片上传等等。
这是我这个博客后台用的编辑器,下面再看一下tv150店铺推广论坛里用的编辑器:
都很简洁,都是按着我的需求编写出来的。
三、网页编辑器中编辑框的制作
大多数编辑器的编辑框都是用div或iframe做的,今天要教大家的是用iframe来做一个编辑框,我们先来看代码:
<iframe
src="TianDaoEditor/TianDaoeditor.asp" id="message" frameborder="0" width="720"
height="350"></iframe>
<script
language="javascript">frames.message.document.designMode =
"On";</script>
代码解释:
src里面引用的是另一个网页的地址,这里可以是asp的,也可以是html的或aspx,jsp,php都是可以的,也可以是about:blank的,如:<iframe
src="about:blank" id="message" />
后面的属性都是html的基本属性,width是宽,height是高,frameborder是框架的宽度,这里设置为0是不让出现框架的边框。
frames.message.document.designMode="On";是让这个iframe变为可编辑状态,有的时候为了不让一些蜘蛛程序把编辑器里面的地址给抓取到,我们也经常这样写:
<script language="JavaScript" type="text/javascript">
document.write (''<iframe src="TianDaoEdit/TiandaoEdit.asp" id="message"
frameborder="0" width="500" height="155"></iframe>'');
frames.message.document.designMode = "On";</script>
这里要注意disignMode="On"这句话的位置,一定要在iframe后面,否则有的时候在火狐或谷歌浏览器里面无法进入编辑状态。
下面我们举个例子来说明一下:
代码如下:
<table width="100" height="100" border="1">
<tr>
<td> <iframe src="about:blank" id="message" frameborder="0" width="100"
height="100"></iframe>
<script
language="javascript">frames.message.document.designMode =
"On";</script></td>
</tr>
</table>
你可以把代码复制下去放到一个html页面里试试效果。
相关推荐
iCode,一款在线 html/css/js 编辑器
用过fckeditor的站长都知道,由于其打开速度的不理想把fckeditor用于网站做为在线编辑器并不是明智的选择,ckeditor正好弥补了这一缺陷,ckeditor是由Frederico Knabben,针对网络而开发的在线编辑器。它提供了令人...
在线代码编辑器适合人教学和学习HTML、CSS和JavaScript
ace.js编辑器是一个功能强大的开源代码编辑器,它以JavaScript为基础,并通过浏览器提供丰富的编辑功能。以下是关于ace.js编辑器的详细描述: 首先,ace.js编辑器支持多种编程语言,包括但不限于JavaScript、HTML、...
最后,阿赛在线HTML编辑器是原创型编辑器,没有仿照XX或者xxx的做,代码原创,喜欢开发的朋友可以参考一哈! 最后的最后,就先这么多吧,其实里面的功能超级多的,因为毕竟是随我奔波将近5年的编辑器啊!改了无数次...
解压密码:123 ||HTML编译器2022是一个令人印象深刻的网页开发编辑器,开发,设计和编程网页轻松。它是一个强大和全面的应用程序,提供了各种先进的工具和功能,以产生准确和吸引人的网页。它还为你的应用程序提供了...
vue-html-editor:实现HTML编辑器的Vue.js组件
Brackets - 强大免费的开源跨平台Web前端开发工具IDE (HTML/CSS/Javascript代码编辑器)
PenEditor.js是一个受Codepen.io启发的开源在线HTML / CSS / JavaScript代码编辑器(代码游乐场)。 笔编辑器S简单的在线代码编辑器! 支持Rect,HTML,CSS,Javascript | PenEditor PenEditor是一个简单HTML / CSS ...
quill.js-心目中的最佳富文本编辑器-html引入、改后可用于Vue-quill-editor 基于html 可以将文本框内图片优先上传后服务器 因为编辑器默认是将图片转成base64存储的,而我们实际开发需要将图片存在自己的服务器中...
ckeditor是fckeditor html编辑器了一个升级版本,由于其打开速度的不理想把fckeditor用于网站做为在线编辑器并不是明智的选择,ckeditor正好弥补了这一缺陷,ckeditor是由Frederico Knabben.针对网络而开发的在线...
Vue2-Editor 使用Vue.js 2.0和Quilljs开发HTML编辑器
原生(HTML+CSS+JS),网页作品代码简单,可使用任意HTML编辑软件(如:`Dreamweaver、HBuilder、Vscode 、Sublime 、 Webstorm、Text 、Notepad++` 等任意html编辑软件进行运行及修改编辑等操作) HTML静态网页设计...
编辑器用于HTML,CSS和Javascript的在线代码编辑器,可发现前端代码特征: 无需安装,在线工作和构建网页。 自动保存所有工作支持JQuery 自动关闭标签和括号实时预览在线Markdown编辑器,用于生成自述文件特征GFM ...
原生(HTML+CSS+JS),网页作品代码简单,可使用任意HTML编辑软件(如:`Dreamweaver、HBuilder、Vscode 、Sublime 、 Webstorm、Text 、Notepad++` 等任意html编辑软件进行运行及修改编辑等操作) HTML静态网页设计...
jwysiwyg-0.6.zip jwysiwyg-0.6.zip jwysiwyg-0.6.zip jwysiwyg-0.6.zip
1、更新百度在线编辑器版本到1.2.2 2、完整优化编辑器代码使之可以应用在.Net 2.0下 3、变更编辑器初始化内容的方式,之前为js变量赋值,现在修改为从textarea容器内获取初始化内容 4、添加更多项编辑器属性到...
CMS.js是一个受Jekyll启发的完全客户端,JavaScript Markdown Site生成器,它使用普通的HTML,CSS和JavaScript来生成您的网站。 CMS.js就像一个基于文件的CMS。 它需要您的内容,呈现Markdown并以单页面应用程序的...
ckeditor是fckeditor html编辑器一个升级版本,是新一代的FCKeditor,是一个重新开发的版本。用过fckeditor的站长都知道,由于其打开速度的不理想把fckeditor用于网站做为在线编辑器并不是明智的选择,ckeditor正好...
Nodejs的简化 HTML CSS - >PDF 生成器