您现在的位置是:网站首页> 编程资料编程资料
一款垃圾中的极品HTML编辑器(兼容IE OR FF)_网页编辑器_
2023-05-25
241人已围观
简介 一款垃圾中的极品HTML编辑器(兼容IE OR FF)_网页编辑器_
这东东实现了一些常用的功能,今天刚完成,大家多给点建议!
在FF下不完善,有些功能暂时还没实现!
这也是本人写的第一个编辑器哦,做得不好,千万别丢鸡蛋过来...
先闪人!
复制代码 代码如下:
/*******************************************
一款垃圾中的极品FreeEditor(2006-08-22)
This JavaScript was writen by CXP.
*******************************************/
var colorType;
var currentMode="Design"; //当前模式
var ie=document.all?true:false;
document.onclick=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="
