⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 editor.js

📁 本程序修改自飞天BBS 7.0 将原来的ASP语法迁移为ASP.NET并封装成DLL ASP.NET相对ASP有更快的执行效率以及更高的并发访问量 基于ASP.NET的DLL可以运行在支持ASP
💻 JS
📖 第 1 页 / 共 5 页
字号:
/**************************************************************
FTBBS Editor 2008-6-10 DESIGN
**************************************************************/
var IMAGE_PATH;
var ICON_PATH;
var IMAGE_ATTACH_PATH;
var IMAGE_UPLOAD_CGI;
var MENU_BORDER_COLOR;
var MENU_BG_COLOR;
var MENU_TEXT_COLOR;
var MENU_SELECTED_COLOR;
var TOOLBAR_BORDER_COLOR;
var TOOLBAR_BG_COLOR;
var FORM_BORDER_COLOR;
var FORM_BG_COLOR;
var BUTTON_COLOR;
var OBJ_NAME;
var SELECTION;
var RANGE;
var RANGE_TEXT;
var EDITFORM_DOCUMENT;
var IMAGE_DOCUMENT;
var FLASH_DOCUMENT;
var MEDIA_DOCUMENT;
var LINK_DOCUMENT;
var BROWSER;
var TOOLBAR_ICON;
var EDITOR_TYPE;
var SAFE_MODE;

var CurrentMode = "design";
var text_enter_url      = "请输入连接网址";
var text_enter_image	= "请输入图片网址";
var error_no_url		= "您必须输入网址";

var MSG_INPUT_URL = "请输入正确的URL地址。";
var MSG_SELECT_IMAGE = "请选择图片。";
var MSG_INVALID_IMAGE = "只能输入GIF,JPG,PNG,BMP格式的图片,请重新输入。";
var MSG_INVALID_FLASH = "只能输入了SWF格式的文件,请重新输入。";
var MSG_INVALID_IMGSWF = "你输入了格式错误的文件,请重新输入。";
var MSG_INVALID_FLV = "你选择了FLV格式的文件但你输入的格式不对,请重新输入。";
var MSG_INVALID_MEDIA = "你选择了MP3,WAV,WMA,WMV,MID,AVI,MPG,ASF格式的文件,但你输入的格式不对,请重新输入。";
var MSG_INVALID_REAL = "你选择了RM,RMVB格式的文件但你输入的格式不对,请重新输入。";
var MSG_INVALID_WIDTH = "宽度不是数字,请重新输入。";
var MSG_INVALID_HEIGHT = "高度不是数字,请重新输入。";
var MSG_INVALID_BORDER = "边框不是数字,请重新输入。";
var MSG_INVALID_HSPACE = "横隔不是数字,请重新输入。";
var MSG_INVALID_VSPACE = "竖隔不是数字,请重新输入。";
var STR_TITLE = "描述";
var STR_WIDTH = "宽";
var STR_HEIGHT = "高";
var STR_BORDER = "边";
var STR_ALIGN = "对齐方式";
var STR_HSPACE = "横隔";
var STR_VSPACE = "竖隔";
var STR_BUTTON_CONFIRM = "确定";
var STR_BUTTON_CANCEL = "取消";
var STR_BUTTON_PREVIEW = "预览";
var STR_IMAGE_LOCAL = "本地";
var STR_IMAGE_REMOTE = "地址";
var STR_LINK_BLANK = "新窗口";
var STR_LINK_NOBLANK = "当前窗口";
var STR_LINK_TARGET = "目标";
var STR_INPUT_CONTENT = "请输入内容";

var EDITOR_FONT_FAMILY = "SimSun";

var FONT_NAME = Array(
					Array('SimSun', '宋体'), 
					Array('SimHei', '黑体'), 
					Array('FangSong_GB2312', '仿宋体'), 
					Array('KaiTi_GB2312', '楷体'), 
					Array('NSimSun', '新宋体'), 
					Array('Arial', 'Arial'), 
					Array('Arial Black', 'Arial Black'), 
					Array('Courier New', 'Courier New'), 
					Array('Tahoma', 'Tahoma'), 
					Array('Verdana', 'Verdana'), 
					Array('GulimChe', 'GulimChe'), 
					Array('MS Gothic', 'MS Gothic') 
					);
var ZOOM_TABLE = Array('250%', '200%', '150%', '120%', '100%', '80%', '50%');
var TITLE_TABLE = Array(
					Array('H1', '标题 1'), 
					Array('H2', '标题 2'), 
					Array('H3', '标题 3'), 
					Array('H4', '标题 4'), 
					Array('H5', '标题 5'), 
					Array('H6', '标题 6')
					);
var FONT_SIZE = Array(
					Array(1,'8pt'), 
					Array(2,'10pt'), 
					Array(3,'12pt'), 
					Array(4,'14pt'), 
					Array(5,'18pt'), 
					Array(6,'24pt'), 
					Array(7,'36pt')
				);
var TOP_TOOLBAR_ICON = Array(
						Array('Ft_UNDO', 'undo.gif', '回退'),
						Array('Ft_REDO', 'redo.gif', '前进'),
						Array('Ft_CUT', 'cut.gif', '剪切'),
						Array('Ft_COPY', 'copy.gif', '复制'),
						Array('Ft_PASTE', 'paste.gif', '粘贴'),
						Array('Ft_SELECTALL', 'selectall.gif', '全选'),
						Array('Ft_JUSTIFYLEFT', 'justifyleft.gif', '左对齐'),
						Array('Ft_JUSTIFYCENTER', 'justifycenter.gif', '居中'),
						Array('Ft_JUSTIFYRIGHT', 'justifyright.gif', '右对齐'),
						Array('Ft_JUSTIFYFULL', 'justifyfull.gif', '两端对齐'),
						Array('Ft_NUMBEREDLIST', 'numberedlist.gif', '编号'),
						Array('Ft_UNORDERLIST', 'unorderedlist.gif', '项目符号'),
						Array('Ft_INDENT', 'indent.gif', '减少缩进'),
						Array('Ft_OUTDENT', 'outdent.gif', '增加缩进'),
						Array('Ft_SUBSCRIPT', 'subscript.gif', '下标'),
						Array('Ft_SUPERSCRIPT', 'superscript.gif', '上标'),
						Array('Ft_DATE', 'date.gif', '日期'),
						Array('Ft_TIME', 'time.gif', '时间')
				  );
var BOTTOM_TOOLBAR_ICON = Array(
						Array('Ft_FONTNAME', 'font.gif', '字体'),
						Array('Ft_FONTSIZE', 'fontsize.gif', '文字大小'),
						Array('Ft_TEXTCOLOR', 'textcolor.gif', '文字颜色'),
						Array('Ft_BGCOLOR', 'bgcolor.gif', '文字背景'),
						Array('Ft_BOLD', 'bold.gif', '粗体'),
						Array('Ft_ITALIC', 'italic.gif', '斜体'),
						Array('Ft_UNDERLINE', 'underline.gif', '下划线'),
						Array('Ft_STRIKE', 'strikethrough.gif', '删除线'),
						Array('Ft_REMOVE', 'removeformat.gif', '删除格式'),
						Array('Ft_TABLE', 'table.gif', '插入表格'),
						Array('Ft_HR', 'hr.gif', '插入横线'),
						Array('Ft_LINK', 'link.gif', '创建超级连接'),
						Array('Ft_UNLINK', 'unlink.gif', '删除超级连接'),
						Array('Ft_IMAGE', 'image.gif', '插入图片'),
						Array('Ft_FLASH', 'flash.gif', '插入Flash'),
						Array('Ft_MEDIA', 'video.gif', '插入在线视频'),
						Array('Ft_ICON', 'emoticons.gif', '插入表情')
				  );
var SIMPLE_TOOLBAR_ICON = Array(
						Array('Ft_FONTNAME', 'font.gif', '字体'),
						Array('Ft_FONTSIZE', 'fontsize.gif', '文字大小'),
						Array('Ft_TEXTCOLOR', 'textcolor.gif', '文字颜色'),
						Array('Ft_BGCOLOR', 'bgcolor.gif', '文字背景'),
						Array('Ft_BOLD', 'bold.gif', '粗体'),
						Array('Ft_ITALIC', 'italic.gif', '斜体'),
						Array('Ft_UNDERLINE', 'underline.gif', '下划线'),
						Array('Ft_JUSTIFYLEFT', 'justifyleft.gif', '左对齐'),
						Array('Ft_JUSTIFYCENTER', 'justifycenter.gif', '居中'),
						Array('Ft_JUSTIFYRIGHT', 'justifyright.gif', '右对齐'),
						Array('Ft_IMAGE', 'image.gif', '插入图片'),
						Array('Ft_FLASH', 'flash.gif', '插入Flash'),
						Array('Ft_MEDIA', 'video.gif', '插入在线视频'),
						Array('Ft_HR', 'hr.gif', '插入横线'),
						Array('Ft_LINK', 'link.gif', '创建超级连接'),
						Array('Ft_UNLINK', 'unlink.gif', '删除超级连接'),
						Array('Ft_ICON', 'emoticons.gif', '插入表情')
				  );
var UBB_TOOLBAR_ICON = Array(
						Array('Ft_BOLD', 'bold.gif', '粗体'),
						Array('Ft_ITALIC', 'italic.gif', '斜体'),
						Array('Ft_UNDERLINE', 'underline.gif', '下划线'),
						Array('Ft_STRIKE', 'strikethrough.gif', '删除线'),
						Array('Ft_JUSTIFYLEFT', 'justifyleft.gif', '左对齐'),
						Array('Ft_JUSTIFYCENTER', 'justifycenter.gif', '居中'),
						Array('Ft_JUSTIFYRIGHT', 'justifyright.gif', '右对齐'),
						Array('Ft_LINK', 'link.gif', '创建超级连接'),
						Array('Ft_IMAGE', 'image.gif', '插入图片'),
						Array('Ft_FLASH', 'flash.gif', '插入Flash'),
						Array('Ft_MEDIA', 'video.gif', '插入在线视频'),
						Array('Ft_SUBSCRIPT', 'subscript.gif', '下标'),
						Array('Ft_SUPERSCRIPT', 'superscript.gif', '上标'),
						Array('Ft_MAQUEE', 'maquee.gif', '滚动文字')
				  );
var POPUP_MENU_TABLE = Array("Ft_TITLE", "Ft_FONTNAME", "Ft_FONTSIZE", "Ft_TEXTCOLOR", "Ft_BGCOLOR", "Ft_TABLE", "Ft_HR", "Ft_ICON", "Ft_IMAGE", "Ft_FLASH", "Ft_MEDIA", "Ft_LINK");
var COLOR_TABLE = Array(
						"#FF0000", "#FF1493", "#FF00FF", "#FF69B4", "#FFB6C1", "#999999", "#DB7093", "#C71585", "#800080", "#8B008B",
						"#FFFFFF", "#2E8B57", "#006400", "#008000", "#228B22", "#000000", "#191970", "#000080", "#00008B", "#0000CD",
						"#FF6347", "#FF8C00", "#FFA500", "#FFA07A", "#FF7F50"
					);
var IMAGE_ALIGN_TABLE = new Array("baseline", "top", "middle", "bottom", "texttop", "absmiddle", "absbottom", "left", "right");

function FtGetBrowser()
{
	var browser = '';
	var agentInfo = navigator.userAgent.toLowerCase();
	if (agentInfo.indexOf("msie") > -1) {
		var re = new RegExp("msie\\s?([\\d\\.]+)","ig");
		var arr = re.exec(agentInfo);
		if (parseInt(RegExp.$1) >= 5.5) {
			browser = 'IE';
		}
	} else if (agentInfo.indexOf("firefox") > -1) {
		browser = 'FF';
	} else if (agentInfo.indexOf("netscape") > -1) {
		var temp1 = agentInfo.split(' ');
		var temp2 = temp1[temp1.length-1].split('/');
		if (parseInt(temp2[1]) >= 7) {
			browser = 'NS';
		}
	} else if (agentInfo.indexOf("gecko") > -1) {
		browser = 'ML';
	} else if (agentInfo.indexOf("opera") > -1) {
		var temp1 = agentInfo.split(' ');
		var temp2 = temp1[0].split('/');
		if (parseInt(temp2[1]) >= 9) {
			browser = 'OPERA';
		}
	}
	return browser;
}
function FtGetFileName(file, separator)
{
	var temp = file.split(separator);
	var len = temp.length;
	var fileName = temp[len-1];
	return fileName;
}
function FtGetFileExt(fileName)
{
	var temp = fileName.split(".");
	var len = temp.length;
	var fileExt = temp[len-1].toLowerCase();
	return fileExt;
}
function FtCheckImageFileType(file, separator)
{
	if (separator == "/" && file.match(/http:\/\/.{3,}/) == null) {
		alert(MSG_INPUT_URL);
		return false;
	}
	var fileName = FtGetFileName(file, separator);
	var fileExt = FtGetFileExt(fileName);
	if (fileExt != 'gif' && fileExt != 'jpg' && fileExt != 'png' && fileExt != 'bmp') {
		alert(MSG_INVALID_IMAGE);
		return false;
	}
	return true;
}
function FtCheckFlashFileType(file, separator)
{
	if (file.match(/http:\/\/.{3,}/) == null) {
		alert(MSG_INPUT_URL);
		return false;
	}
	var fileName = FtGetFileName(file, "/");
	var fileExt = FtGetFileExt(fileName);
	if (fileExt != 'swf') {
		alert(MSG_INVALID_FLASH);
		return false;
	}
	return true;
}
function FtCheckFlvFileType(file, separator)
{
	if (file.match(/http:\/\/.{3,}/) == null) {
		alert(MSG_INPUT_URL);
		return false;
	}
	var fileName = FtGetFileName(file, "/");
	var fileExt = FtGetFileExt(fileName);
    if (fileExt != 'flv'){
	    alert(MSG_INVALID_FLV);
		return false;
	}
	return true;
}
function FtCheckMediaFileType(cmd,file,separator,media)
{
	if (file.match(/http:\/\/.{3,}/) == null) {
		alert(MSG_INPUT_URL);
		return false;
	}
	var fileName = FtGetFileName(file, "/");
	var fileExt = FtGetFileExt(fileName);
	if (media == 'rm') {
		if (fileExt != 'rm' && fileExt != 'rmvb') {
			alert(MSG_INVALID_REAL);
			return false;
		}
	} else if (media == 'wmv'){
		if (fileExt != 'mp3' && fileExt != 'wav' && fileExt != 'wma' && fileExt != 'wmv' && fileExt != 'mid' && fileExt != 'avi' && fileExt != 'mpg' && fileExt != 'asf') {
			alert(MSG_INVALID_MEDIA);
			return false;
		}
	} else if (media == 'flv'){
		if (fileExt != 'flv' ) {
			alert(MSG_INVALID_FLV);
			return false;
		}
	}
	return true;
}
function FtHtmlToXhtml(str) 
{
	str = str.replace(/<br.*?>/gi, "<br />");
	str = str.replace(/(<hr[^>]*[^\/])(>)/gi, "$1 />");
	str = str.replace(/(<img[^>]*[^\/])(>)/gi, "$1 />");
	str = str.replace(/(<\w+)(.*?>)/gi, function ($0,$1,$2) {
						return($1.toLowerCase() + FtConvertAttribute($2));
					}
				);
	str = str.replace(/(<\/\w+>)/gi, function ($0,$1) {
						return($1.toLowerCase());
					}
				);
	str = FtTrim(str);
	return str;
}
function htmltoubb(str) {
 str = str.replace(/\r/g,"");
 str = str.replace(/on(load|click|dbclick|mouseover|mousedown|mouseup)="[^"]+"/ig,"");
 str = str.replace(/<script[^>]*?>([\w\W]*?)<\/script>/ig,""); 
 str = str.replace(/<a[^>]+href="([^"]+)"[^>]*>(.*?)<\/a>/ig,"[url=$1]$2[/url]"); 
 str = str.replace(/<font[^>]+color=([^ >]+)[^>]*>(.*?)<\/font>/ig,"[color=$1]$2[/color]");
 str = str.replace(/<div[^>]+align=([^ >]+)[^>]*>(.*?)<\/div>/ig,"[$1]$2[/$1]");
 str = str.replace(/<P[^>]+align=([^ >]+)[^>]*>(.*?)<\/P>/ig,"[$1]$2[/$1][br]");
 str = str.replace(/<strike>(.*?)<\/strike>/ig,"[strike]$1[/strike]");
 str = str.replace(/<font[^>]+face=([^ >]+)[^>]*>(.*?)<\/font>/ig,"[face=$1]$2[/face]");
 str = str.replace(/<font[^>]+size=([^ >]+)[^>]*>(.*?)<\/font>/ig,"[size=$1]$2[/size]");
 str = str.replace(/<FONT[^>]+style=(.*?)>(.*?)<\/FONT>/ig,"[bgcolor=$1]$2[/bgcolor]");
 str = str.replace(/<HR(.*?)>/gi,"[HR size=1]");
 str = str.replace(/<sup>(.*?)<\/sup>/ig,"[sup]$1[/sup]");
 str = str.replace(/<sub>(.*?)<\/sub>/ig,"[sub]$1[/sub]");
 str = str.replace(/<P>(.*?)<\/P>/ig,"$1[br]");
 str = str.replace(/<P.*?>(.*?)<\/P>/ig,"$1[br]");
 str = str.replace(/<br.*?>/gi, "[br]");
 str = str.replace(/<img[^>]+src="([^"]+)"[^>]*>/ig,"[img]$1[/img]");
 str = str.replace(/<([\/]?)b>/ig,"[$1b]");
 str = str.replace(/<([\/]?)strong>/ig,"[$1b]");
 str = str.replace(/<([\/]?)u>/ig,"[$1u]");
 str = str.replace(/<([\/]?)i>/ig,"[$1i]");
 
 str = str.replace(/&nbsp;/g," ");
 str = str.replace(/&amp;/g,"&");
 str = str.replace(/&quot;/g,"\"");
 str = str.replace(/&lt;/g,"<");
 str = str.replace(/&gt;/g,">");
 
 str = str.replace(/<br>/ig,"\n");
 str = str.replace(/<br.*?>/ig,"\n");
 str = str.replace(/<[^>]*?>/g,"");
 str = str.replace(/\[url=([^\]]+)\]\n(\[img\]\1\[\/img\])\n\[\/url\]/g,"$2");
 str = str.replace(/\n+/g,"\n");
 return str;
}
function ubbtohtml(str) {
     str=str.toLowerCase();
     str=str.replace(/\[br\]/ig,"<br/>");/*回车*/
     str=str.replace(/\[u\](.+?)\[\/u\]/ig,"<u>$1</u>");/*下划线*/
     str=str.replace(/\[i\](.+?)\[\/i\]/ig,"<i>$1</i>");/*斜体*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -