这东东实现了一些常用的功能,今天刚完成,大家多给点建议!

在FF下不完善,有些功能暂时还没实现!

这也是本人写的第一个编辑器(处女作哦),做得不好,千万别丢鸡蛋过来...

先闪人!

/*******************************************

一款垃圾中的极品FreeEditor(2006-08-22)

This JavaScript was writen by CXP.

*******************************************/

var colorType;

var currentMode="Design";    //当前模式

var ie=document.all?true:false;

document.οnclick=function(){

}

function format(str,arg){

if(currentMode!="Design"){    //非设计模式

return;

}

var obj=window.frames["design"];

if(!ie){

var sAlert="";

switch(str){

case "Cut":

sAlert = "你的浏览器安全设置不允许编辑器自动执行剪切操作,请使用键盘快捷键(Ctrl+X)来完成";

break;

case "Copy":

sAlert = "你的浏览器安全设置不允许编辑器自动执行拷贝操作,请使用键盘快捷键(Ctrl+C)来完成";

break;

case "Paste":

sAlert = "你的浏览器安全设置不允许编辑器自动执行粘贴操作,请使用键盘快捷键(Ctrl+V)来完成";

break;

}

if(sAlert!=""){

alert(sAlert);

return;

}

}

obj.focus();

if(arg){

return obj.document.execCommand(str,false,arg);

}

else{

if(ie){

obj.document.execCommand(str);

}

else{

obj.document.execCommand(str,false,false);

}

}

obj.focus();

}

//显示颜色菜单

function showColorMenu(obj,e){

if(currentMode!="Design"){    //非设计模式

return;

}

var target=document.all?e.srcElement:e.target;

var colorMode=target.getAttribute("title");

switch(colorMode){

case "背景颜色":

colorType="BodyBackColor";

break;

case "字体背景颜色":

colorType="backColor";

break;

case "字体颜色":

colorType="foreColor";

break;

default:

return;

}

var left,top;

left=getWidth(obj);

top=getHeight(obj)+138;

if(document.all){

var db=window.frames["design"].document;

var height=125;

if(colorType=="foreColor"){

height=145;

}

var color=showModalDialog("dialog/color.html",window,"dialogWidth:263px;dialogHeight:"+height+"px;help:no;status:no;scroll:no;dialogLeft:"+left+";dialogTop:"+top+";px");

if(color!=null){

if(colorType=="BodyBackColor"){

db.body.style.backgroundColor=color;

return;

}

else if(colorType=="foreColor"){

var arr=color.split("|");

if(arr.length==2){

format(colorType,arr[0]);

//设置发光滤镜,IEOnly

if(db.selection.type.toLowerCase()!="none"){

var selectText=db.selection.createRange().htmlText;

selectText=""+selectText+"";

insertHTML(selectText);

return;

}

}

}

format(colorType,color);

}

}

else{

if(colorType=="backColor"){

alert('待完善!');

return;

}

FFOpenWidnow("dialog/color.html",263,112,top+25,left);

}

}

//显示插入图片窗口

function showImageMenu(obj){

if(currentMode!="Design"){    //非设计模式

return;

}

var left,top;

left=getWidth(obj);

top=getHeight(obj)+138;

if(document.all){

var path=showModalDialog("dialog/image.html","","dialogWidth:390px;dialogHeight:120px;help:no;status:no;scroll:no;dialogLeft:"+left+";dialogTop:"+top+";px");

if(path==null){

return;

}

format("insertImage",path);

}

else{

FFOpenWidnow("dialog/image.html",385,100,top+25,left);

}

}

//显示插入FLASH窗口

function showFlashMenu(obj){

if(currentMode!="Design"){    //非设计模式

return;

}

var left,top;

left=getWidth(obj);

top=getHeight(obj);

if(document.all){

var path=showModalDialog("dialog/FLASH.html","","dialogWidth:402px;dialogHeight:139px;help:no;status:no;scroll:no;dialogLeft:"+left+";dialogTop:"+(top+138)+";px");

if(path==null){

return;

}

var arr=path.split("|");

var str="";

insertHTML(str);

}

else{

alert('待完善');

return;

}

}

//显示插入Face窗口

function showFaceMenu(obj){

if(currentMode!="Design"){    //非设计模式

return;

}

var left,top;

left=getWidth(obj);

top=getHeight(obj)+138;

if(document.all){

showModalDialog("dialog/face.html",window,"dialogWidth:280px;dialogHeight:215px;help:no;status:no;scroll:no;dialogLeft:"+left+";dialogTop:"+top+";px");

}

else{

FFOpenWidnow("dialog/face.html",280,180,top+25,left);

}

}

//显示fieldSet窗口

function showFieldSetMenu(obj){

if(currentMode!="Design"){    //非设计模式

return;

}

var left,top;

left=getWidth(obj);

top=getHeight(obj)+138;

if(document.all){

showModalDialog("dialog/fieldSet.html",window,"dialogWidth:330px;dialogHeight:120px;help:no;status:no;scroll:no;dialogLeft:"+left+";dialogTop:"+top+";px");

}

else{

FFOpenWidnow("dialog/fieldSet.html",330,100,top+25,left);

}

}

function getWidth(obj){

var ParentObj=obj;

var left=obj.offsetLeft;

while(ParentObj=ParentObj.offsetParent){

left+=ParentObj.offsetLeft;

}

return left;

}

function getHeight(obj){

var ParentObj=obj;

var top=obj.offsetTop;

while(ParentObj=ParentObj.offsetParent){

top+=ParentObj.offsetTop;

}

return top;

}

function showMediaMenu(obj){

if(currentMode!="Design"){    //非设计模式

return;

}

var left,top;

left=getWidth(obj);

top=getHeight(obj);

if(document.all){

showModalDialog("dialog/media.html",window,"dialogWidth:330px;dialogHeight:119px;help:no;status:no;scroll:no;dialogLeft:"+left+";dialogTop:"+(top+138)+";");

}

else{

alert('待完善');

}

}

//显示插入文件窗口

function showFileMenu(obj){

if(currentMode!="Design"){    //非设计模式

return;

}

var left,top;

left=getWidth(obj);

top=getHeight(obj)+138;

if(document.all){

showModalDialog("dialog/file.html",window,"dialogWidth:390px;dialogHeight:115px;help:no;status:no;scroll:no;dialogLeft:"+left+";dialogTop:"+top+";");

}

else{

FFOpenWidnow("dialog/file.html",380,100,top+25,left);

}

}

function setColor(color){

if(color==""){

return;

}

if(colorType=="BodyBackColor"){

window.frames["design"].document.body.style.backgroundColor=color;

return;

}

format(colorType,color);

}

//插入字幕

function showMarqueeMenu(obj){

if(currentMode!="Design"){    //非设计模式

return;

}

var left,top;

left=getWidth(obj);

top=getHeight(obj)+138;

if(document.all){

showModalDialog("dialog/marquee.html",window,"dialogWidth:439px;dialogHeight:260px;help:no;status:no;scroll:no;dialogLeft:"+left+";dialogTop:"+top+";");

}

else{

FFOpenWidnow("dialog/marquee.html",435,220,top+25,left);

}

}

//插入特殊字符

function showSymbolMenu(obj){

if(currentMode!="Design"){    //非设计模式

return;

}

var left,top;

left=getWidth(obj);

top=getHeight(obj)+138;

if(document.all){

showModalDialog("dialog/symbol.html",window,"dialogWidth:385px;dialogHeight:235px;help:no;status:no;scroll:no;dialogLeft:"+left+";dialogTop:"+top+";");

}

else{

FFOpenWidnow("dialog/symbol.html",370,190,top+25,left);

}

}

//插入文件

function insertFile(txt){

var arr=txt.split(".");

var fileName=getFileName(arr[arr.length-1]);

var str="";

arr=txt.split("/");

fileName=arr[arr.length-1];

str+=fileName+"";

var db=window.frames["design"].document;

insertHTML(str);

}

//插入当前时间

function insertTime(b){

var d=new Date();

var year,month,day,hour,minute,second;

year=d.getFullYear();

month=d.getMonth();

day=d.getDate();

hour=d.getHours();

minute=d.getMinutes();

second=d.getSeconds();

var str;

if(b){

str=year+"-"+month+"-"+day;

}

else{

str=hour+":"+minute+":"+second;

}

insertHTML(str);

}

//插入引用

function insertQuote(){

var str="

引用:

";

insertHTML(str);

}

//插入单选框

function insertRadio(obj){

if(currentMode!="Design"){    //非设计模式

return;

}

var left,top;

left=getWidth(obj);

top=getHeight(obj)+138;

if(document.all){

showModalDialog("dialog/radio.html",window,"dialogWidth:275px;dialogHeight:156px;help:no;status:no;scroll:no;dialogLeft:"+left+";dialogTop:"+top+";");

}

else{

FFOpenWidnow("dialog/radio.html",270,125,top+25,left);

}

}

//插入复选框

function insertCheckBox(obj){

if(currentMode!="Design"){    //非设计模式

return;

}

var left,top;

left=getWidth(obj);

top=getHeight(obj)+138;

if(document.all){

showModalDialog("dialog/checkbox.html",window,"dialogWidth:275px;dialogHeight:156px;help:no;status:no;scroll:no;dialogLeft:"+left+";dialogTop:"+top+";");

}

else{

FFOpenWidnow("dialog/checkbox.html",270,125,top+25,left);

}

}

//插入复选框

function insertInputText(obj){

if(currentMode!="Design"){    //非设计模式

return;

}

var left,top;

left=getWidth(obj);

top=getHeight(obj)+138;

if(document.all){

showModalDialog("dialog/text.html",window,"dialogWidth:275px;dialogHeight:156px;help:no;status:no;scroll:no;dialogLeft:"+left+";dialogTop:"+top+";");

}

else{

FFOpenWidnow("dialog/text.html",270,125,top+25,left);

}

}

//插入多行文本框

function insertTextArea(obj){

if(currentMode!="Design"){    //非设计模式

return;

}

var left,top;

left=getWidth(obj);

top=getHeight(obj)+138;

if(document.all){

showModalDialog("dialog/textarea.html",window,"dialogWidth:305px;dialogHeight:250px;help:no;status:no;scroll:no;dialogLeft:"+left+";dialogTop:"+top+";");

}

else{

FFOpenWidnow("dialog/textarea.html",300,250,top+25,left,true);

}

}

//插入表格

function insertTable(obj){

if(currentMode!="Design"){    //非设计模式

return;

}

var left,top;

left=getWidth(obj);

top=getHeight(obj)+138;

if(document.all){

showModalDialog("dialog/table.html",window,"dialogWidth:265px;dialogHeight:239px;help:no;status:no;scroll:no;dialogLeft:"+left+";dialogTop:"+top+";");

}

else{

FFOpenWidnow("dialog/table.html",256,210,top+25,left,true);

}

}

//插入下拉列表

function insertSelect(obj){

if(currentMode!="Design"){    //非设计模式

return;

}

var left,top;

left=getWidth(obj);

top=getHeight(obj)+138;

if(document.all){

showModalDialog("dialog/select.html",window,"dialogWidth:380px;dialogHeight:250px;help:no;status:no;scroll:auto;dialogLeft:"+left+";dialogTop:"+top+";");

}

else{

FFOpenWidnow("dialog/select.html",380,250,top+25,left);

}

}

//插入按钮

function insertButton(obj){

if(currentMode!="Design"){    //非设计模式

return;

}

var left,top;

left=getWidth(obj);

top=getHeight(obj)+138;

if(document.all){

showModalDialog("dialog/button.html",window,"dialogWidth:239px;dialogHeight:170px;help:no;status:no;scroll:auto;dialogLeft:"+left+";dialogTop:"+top+";");

}

else{

FFOpenWidnow("dialog/button.html",236,139,top+25,left);

}

}

//插入表单

function insertForm(obj){

if(currentMode!="Design"){    //非设计模式

return;

}

var left,top;

left=getWidth(obj);

top=getHeight(obj)+138;

if(document.all){

showModalDialog("dialog/form.html",window,"dialogWidth:239px;dialogHeight:170px;help:no;status:no;scroll:auto;dialogLeft:"+left+";dialogTop:"+top+";");

}

else{

FFOpenWidnow("dialog/form.html",236,139,top+25,left);

}

}

//设置模式

function setMode(modeType,btnObj){

if(currentMode==modeType){

return;

}

btnObj.style.border="1px solid #000000";

var cObj;

if(currentMode=="Preview"){

cObj=document.getElementById("preview");

}

else if(currentMode=="Design"){

cObj=document.getElementById("design");

}

else{

cObj=document.getElementById("textCode");

}

document.getElementById("bnt"+currentMode).style.border="1px solid #999999";

switch(modeType){

case "Code":    //代码

var obj=document.getElementById("textCode");

var db=window.frames["design"].document.body;

var HTMLCode=db.innerHTML;

//防止FF在没有任何代码前产生的换行

if(HTMLCode=="
\n" || HTMLCode=="
"){

HTMLCode="";

}

obj.value=HTMLCode;

cObj.style.display="none";

obj.style.display="block";

break;

case "Design":    //设计

cObj.style.display="none";

document.getElementById("design").style.display="block";

break;

case "Preview":

var obj=window.frames["preview"].document.body;

var db=window.frames["design"].document.body;

obj.style.backgroundColor=db.style.backgroundColor;

if(currentMode=="Code"){

obj.innerHTML=cObj.value;

}

else{

var str=db.innerHTML;

obj.innerHTML=str;

}

cObj.style.display="none";

document.getElementById("preview").style.display="block";

break;

}

currentMode=modeType;    //设置当前模式

}

//创建链接

function createLink(){

if(currentMode!="Design"){    //非设计模式

return;

}

if(document.all){

format("CreateLink");

}

else{

var str=window.prompt("Enter Link Location (Example:http://www.baidu.com/ or ftp://127.0.0.1/)","http://");

if(str==null || str=="http://" || str=="")    return;

format("CreateLink", str);

}

}

//新建

function newPage(){

if(currentMode!="Design"){    //非设计模式

return;

}

window.frames["design"].document.body.innerHTML="";

}

//设置字体

function setFaceFamily(obj){

var val=obj.options[obj.selectedIndex].value;

if(val=="")    return;

format("fontname",val);

}

//设置字号

function setFaceSize(obj){

var val=obj.options[obj.selectedIndex].text;

if(val=="字号")    return;

format("fontsize",val);

}

function getFileName(str){

str=str.toLowerCase();

var name;

switch(str){

case "avi":

name="avi.gif";

break;

case "bmp":

name="bmp.gif";

break;

case "chm":

name="chm.gif";

break;

case "doc":

name="doc.gif";

break;

case "exe":

name="exe.gif";

break;

case "gif":

name="gif.gif";

break;

case "html":

name="html.gif";

break;

case "htm":

name="html.gif";

break;

case "jpg":

name="jpg.gif";

break;

case "mdb":

name="mdb.gif";

break;

case "mid":

name="mid.gif";

break;

case "mp3":

name="mp3.gif";

break;

case "pdf":

name="pdf.gif";

break;

case "ppt":

name="ppt.gif";

break;

case "rar":

name="rar.gif";

break;

case "rm":

name="rm.gif";

break;

case "rmvb":

name="rm.gif";

break;

case "swf":

name="swf.gif";

break;

case "txt":

name="txt.gif";

break;

case "xls":

name="xls.gif";

break;

case "zip":

name="zip.gif";

break;

default:

name="unknow.gif";

break;

}

return name;

}

function setFocus(){

window.frames["design"].focus();

}

//插入HTML代码

function insertHTML(str){

if(ie){

setFocus();

window.frames["design"].document.selection.createRange().pasteHTML(str);

}

else{

var newStr=window.frames["design"].document.body.innerHTML;

if(newStr.toLowerCase()=="
" || newStr.toLowerCase()=="
\n"){

window.frames["design"].document.body.innerHTML=str;

}

else{

window.frames["design"].document.body.innerHTML+=str;

}

}

setFocus();

}

//FF打开窗口

function FFOpenWidnow(url,w,h,top,left){

window.open(url,"","location=no,menubar=no,toolbar=no,dependent=yes,dialog=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable=no,width="+w+",height="+h+",screenX="+left+",screenY="+top);

}

本地下载

html 简单 在线编辑器 ie ff,一款垃圾中的极品HTML编辑器(兼容IE OR FF)相关推荐

  1. html5在线编辑器 h,前端最好用的HTML在线编辑器是哪一款

    <前端最好用的HTML在线编辑器是哪一款>要点: 本文介绍了前端最好用的HTML在线编辑器是哪一款,希望对您有用.如果有疑问,可以联系我们. 开发网站,一定会碰到HTML在线编辑器,我们详 ...

  2. java用什么编辑器比较好_强大又好用的一款微信排版工具:135编辑器

    哈罗,小伙伴们,下午好啊 今天给大家推荐一款,对于新媒体小编来说,耳熟能详的一款微信排版工具:135编辑器 操作非常简单,即使是刚入新媒体行业的小白,也能轻轻松松搞定排版.用135编辑器排版,所见即所 ...

  3. 15款android设备上的代码编辑器,超级方便!

    如果你希望你的Android设备,如智能手机和平板电脑,在任何时间和任何地方都能够编写代码,那么,不妨看看下面我将介绍的15款Android代码编辑器,它们必将成为你的理想工具. 1.Deuter I ...

  4. 五种JavaScript富文本编辑器,总有一款适合你

    也许,你时常会遇到要开发基于Web的文本编辑器的情况.有时候,只需实现一个简约且轻量级的应用程序,不必有其他任何不必要的功能.而有时候,你的首要任务是保护用户的商业机密. 在这样的情况下,如果想知道& ...

  5. 值得拥有的5 款功能强大的免费 PDF 编辑器

    编辑 PDF 文件可能是一个真正的挑战,尤其是当您找不到合适的工具时.此外,如今大多数工具都需要大量订阅.这意味着您必须在口袋里烧一个洞才能对 PDF 文件进行更改,但是等等,这是一个转折点.有一些免 ...

  6. python中文编辑器推荐-推荐10款最好的Python开发编辑器

    作者丨Python农夫 https://www.jianshu.com/p/85c800ea3492 1. Vim Vim 可以说是 Python 最好的 IDE.Vim 是高级文本编辑器,旨在提供实 ...

  7. c++编辑器_盘点四款PDF编辑器,使用它们,编辑PDF文件没问题!

    原标题:盘点四款PDF编辑器,使用它们,编辑PDF文件没问题! 在我们日常学习和日常工作中,我们有时会遇见将PDF文件进行编辑的问题.有时候是添加图片,插入文字,有时候是拆分PDF,修改PDF文件. ...

  8. 直接拿来用!盘点四款优秀的开源协作文本编辑器

    工欲善其事,必先利其器.除了一些主流的编辑器,在开源界,又有哪些精小却非常实用的文本编辑器呢? 作者 | Jure Triglav 译者 | 弯月,责编 | 屠敏 出品 | CSDN(ID:CSDNn ...

  9. python用什么编译器-15款Python编辑器的优缺点,别再问我quot;选什么编辑器”啦

    本文介绍了多个 Python IDE,并评价其优缺点.读者可以参考此文列举的 Python IDE 列表,选择适合自己的编辑器. 写 Python 代码最好的方式莫过于使用集成开发环境(IDE)了.它 ...

最新文章

  1. CodeForces - 1350E Orac and Game of Life(bfs)
  2. mysql sleep 5908_mysql连接卡死,很多线程sleep状态,导致CPU中mysqld占用率极高(问题原因还待考证)...
  3. python乐观锁代码实现_Django的乐观锁与悲观锁实现
  4. python2.7卸载出问题原因分析_怎么卸载python2.7
  5. 进入android数据可视化,Android中的实时数据可视化
  6. HttpComponents组件探究 - HttpClient篇
  7. 看了Google大神Jeff Dean的传说后,我跪了!这才是真的大神
  8. OpenDrive学习笔记
  9. linux系统中使用百度云盘
  10. [转载]Geronimo 叛逆者,第 8 部分: 未来的 Apache Geronimo
  11. 你真的理解devDependencies和dependencies区别吗?
  12. 加拿大IC VOC和无线产品IC ID认证
  13. 什么情况下你会毫不犹豫地辞职?
  14. 新手树莓派4B安装Supervised+Home Assistant及问题解决
  15. Linux和windows下minio+springboot实现文件服务器上传下载和nginx反向代理
  16. 前端实现高效的海报系统
  17. python 语言属于_python语言属于以下哪种语言?
  18. 软件测试用例编写规范文档,模板都给你了我看谁还不会写测试用例
  19. webRTC(二十四):web远程多台android的实现
  20. 倾情奉献:我的公众号矩阵之路

热门文章

  1. 框架复习笔记-Java-案例:牛客网讨论社区
  2. ES2017 异步函数async/await
  3. google四件套之Dagger2
  4. TasksetManager冲突导致SparkContext异常关闭
  5. 5月28日任务 Apache和PHP结合、Apache默认虚拟主机
  6. SPARK:作业基本运行原理
  7. (十一)企业部分之nagios
  8. 编译内核,busybox,dropbear组装linux小系统
  9. iPhone5搭载iOS6:App应用与Siri攻略
  10. 我是如何超越PPG的(摘自:IT经理世界;作者:李黎)