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

📄 edit.js

📁 本论坛开发环境:jdk1.5+Tomcat5.5.17+sql server2000+Windows 2000 1、支持HTML内容编辑,支持网络贴图与附件上传等,支持多种版面风格. 2、论坛
💻 JS
📖 第 1 页 / 共 3 页
字号:
function WBTB_replace()
{
	var arr = showModalDialog("wbTextBox/replace.html", "", "dialogWidth:16.5em; dialogHeight:13em; status:0; help:0");
	
	if (arr != null){
		var ss;
		ss=arr.split("*")
		a=ss[0];
		b=ss[1];
		i=ss[2];
		con=WBTB_Composition.document.body.innerHTML;
		if (i==1)
		{
			con=WBTB_rCode(con,a,b,true);
		}else{
			con=WBTB_rCode(con,a,b);
		}
		WBTB_Composition.document.body.innerHTML=con;
	}
	else WBTB_Composition.focus();
}


function WBTB_CleanCode() {
	editor=WBTB_Composition;
	editor.focus();
	// 0bject based cleaning
	var body = editor.document.body;
	for (var index = 0; index < body.all.length; index++) {
		tag = body.all[index];
		//if (tag.Attribute["className"].indexOf("mso") > -1)
		tag.removeAttribute("className","",0);
		tag.removeAttribute("style","",0);
	}

	// Regex based cleaning
	var html = editor.document.body.innerHTML;
	html = html.replace(/<o:p>&nbsp;<\/o:p>/gi, "");
	html = html.replace(/o:/gi, "");
	//html = html.replace(/<st1:[^>]*>/gi, "");

	// Final clean up of empty tags
	html = html.replace(/<font[^>]*>\s*<\/font>/gi, "");
	html = html.replace(/<span>\s*<\/span>/gi, "");
	
	editor.document.body.innerHTML = html;
}

function WBTB_CleanAllHtm() {
	editor=WBTB_Composition;
	editor.focus();
	// 0bject based cleaning
	var body = editor.document.body;
	for (var index = 0; index < body.all.length; index++) {
		tag = body.all[index];
		//if (tag.Attribute["className"].indexOf("mso") > -1)
		tag.removeAttribute("className","",0);
		tag.removeAttribute("style","",0);
	}

	// Regex based cleaning
	var html = editor.document.body.innerHTML;
	html = html.replace(/\<[^>]*>/g,""); 
	
	editor.document.body.innerHTML = html;
}

function WBTB_Filterbackpic(content)
{
	var RegExp = /style="BACKGROUND-IMAGE[^>]*/ig;
	content = content.replace(RegExp, "");
	
	//var RegExp = /<\/?tr[^>]*>/ig;
	//content = content.replace(RegExp, "");
	
	//var RegExp = /<\/?td[^>]*>/ig;
	//content = content.replace(RegExp, "");
	
	//var RegExp = /<\/?tbody[^>]*>/ig;
	//content = content.replace(RegExp, "");
	return content;
}

function get_upfilename(filename)
{
	var RegExp = /[^\/]*\//ig;
	filename =filename.replace(RegExp, "");	
	return filename;
}

function WBTB_FilterScript(content)
{
	content = WBTB_rCode(content, 'javascript:', 'javascript :');
	var RegExp = /<script[^>]*>(.|\n)*<\/script>/ig;
	content = content.replace(RegExp, "<!-- Script Filtered -->");
	//var RegExp = /<script[^>]*>/ig;
	//content = content.replace(RegExp, "<!-- Script Filtered");
	//RegExp = /<\/script>/ig;
	//content = content.replace(RegExp, "-->");
	return content;
}

function WBTB_cleanHtml()
{
	var fonts = WBTB_Composition.document.body.all.tags("FONT");
	var curr;
	for (var i = fonts.length - 1; i >= 0; i--) {
		curr = fonts[i];
		if (curr.style.backgroundColor == "#ffffff") curr.outerHTML = curr.innerHTML;
	}
}

function WBTB_getPureHtml()
{
	var str = "";
	//var paras = WBTB_Composition.document.body.all.tags("P");
	//if (paras.length > 0){
	//  for	(var i=paras.length-1; i >= 0; i--) str= paras[i].innerHTML + "\n" + str;
	//} else {
	str = WBTB_Composition.document.body.innerHTML;
	//}
	str=WBTB_correctUrl(str);
	return str;
}


function WBTB_correctUrl(cont)
{
	var url=location.href.substring(0,location.href.lastIndexOf("/")+1);
	cont=WBTB_rCode(cont,location.href+"#","#");
	cont=WBTB_rCode(cont,url,"");
	cont=WBTB_rCode(cont,"<a> </a>","");
	var r = new RegExp('(a href=[^>)]*)','gi');
	cont=cont.replace(r,"$1 target=_blank");
	//var r = new RegExp('(target=_blank target=_blank)','gi');
	cont=cont.replace("target=_blank target=_blank","target=_blank");
	return cont;
}

var WBTB_bLoad=false
var WBTB_pureText=true
var WBTB_bTextMode=false

WBTB_public_description=new WBTB_Editor

function WBTB_Editor()
{
	this.put_HtmlMode=WBTB_setMode;
	this.put_value=WBTB_putText;
	this.get_value=WBTB_getText;
}

function WBTB_getText()
{
	if (WBTB_bTextMode)
		return WBTB_Composition.document.body.innerText;
	else
	{
		WBTB_cleanHtml();
		return WBTB_Composition.document.body.innerHTML;
	}
}

function WBTB_putText(v)
{
	if (WBTB_bTextMode)
		WBTB_Composition.document.body.innerText = v;
	else
		WBTB_Composition.document.body.innerHTML = v;
}

function WBTB_InitDocument(hiddenid, charset)
{	
	if (charset!=null)
		WBTB_charset=charset;
	var WBTB_bodyTag="<html><head><style type=text/css>.quote{margin:5px 20px;border:1px solid #CCCCCC;padding:5px; background:#F3F3F3 }\nbody{boder:0px}</style></head><BODY bgcolor=\"#FFFFFF\" >";
	var editor=WBTB_Composition;
	var h=document.getElementById(hiddenid);
	editor.document.designMode="On"
	editor.document.open();
	editor.document.write(WBTB_bodyTag);
	if (h.value!="")
	{
		editor.document.write(h.value);
	}
	editor.document.write("</html>");
	editor.document.close();
	editor.document.body.contentEditable = "True";
	editor.document.charset=WBTB_charset;
	
	WBTB_bLoad=true;
	//WBTB_setStyle();
	//eval("WBTB_Composition.document.body.innerHTML+=(self.opener."+ htmlableID +".checked)?(self.opener."+bodyID+".value):(WBTB_ubb2html(self.opener."+ bodyID +".value))");
}


function WBTB_doSelectClick(str, el) {
	var Index = el.selectedIndex;
	if (Index != 0){
		el.selectedIndex = 0;
		WBTB_format(str,el.options[Index].value);
	}
}

var WBTB_bIsIE5 = (navigator.userAgent.indexOf("IE 5")  > -1) || (navigator.userAgent.indexOf("IE 6")  > -1);
var WBTB_edit;	//selectRang
var WBTB_RangeType;
var WBTB_selection;

//应用html
function WBTB_specialtype(Mark1, Mark2){
	var strHTML;
	if (WBTB_bIsIE5) WBTB_selectRange();
	if (WBTB_RangeType == "Text"){
		if (Mark2==null)
		{
			strHTML = "<" + Mark1 + ">" + WBTB_edit.htmlText + "</" + Mark1 + ">"; 
		}else{
			strHTML = Mark1 + WBTB_edit.htmlText +  Mark2; 
		}
		WBTB_edit.pasteHTML(strHTML);
		WBTB_Composition.focus();
		WBTB_edit.select();
	}		
}

//选择内容替换文本
function WBTB_InsertSymbol(str1)
{
	WBTB_Composition.focus();
	if (WBTB_bIsIE5) WBTB_selectRange();	
	WBTB_edit.pasteHTML(str1);
}


function WBTB_selectRange(){
	WBTB_selection = WBTB_Composition.document.selection;
	WBTB_edit = WBTB_Composition.document.selection.createRange();
	WBTB_RangeType =  WBTB_Composition.document.selection.type;
}

function WBTB_rCode(s,a,b,i){
	//s原字串,a要换掉pattern,b换成字串,i是否区分大小写
	a = a.replace("?","\\?");
	if (i==null)
	{
		var r = new RegExp(a,"gi");
	}else if (i) {
		var r = new RegExp(a,"g");
	}
	else{
		var r = new RegExp(a,"gi");
	}
	return s.replace(r,b); 
}


//提交数据到opener,已无用
/*
function WBTB_handin()
{
	if (!WBTB_validateMode()) return;
	var strHTMLbegin;
	var strHTMLend;
	strHTMLbegin = "";
	strHTMLend = "";
//	eval("self.opener."+bodyID+".value=strHTMLbegin + WBTB_getPureHtml(WBTB_Composition.document.body.innerHTML) + strHTMLend;self.opener."+htmlableID+".checked=true;");
	self.close();
}
*/

function WBTB_View()
{
	if (WBTB_bTextMode) {
		cont=WBTB_Composition.document.body.innerText;
	} else {
		cont=WBTB_Composition.document.body.innerHTML;
	}
	cont=WBTB_correctUrl(cont);
	bodyTag="<html><head><style type=text/css>.quote{margin:5px 20px;border:1px solid #CCCCCC;padding:5px; background:#F3F3F3 }\nbody{boder:0px; font-family:Arial; font-size:10.5pt}</style></head><BODY bgcolor=\"#FFFFFF\" >";
	if (WBTB_filterScript)
		cont=WBTB_FilterScript(cont);
	//cont=WBTB_rCode(cont,"\\[dvnews_ad]","<img src='wbTextBox/images/pic_ad.jpg' vspace=10 hspace=10 align=left border=1 title='Advertising'>");
	//cont=WBTB_rCode(cont,"\\[dvnews_page]","<br><br><hr size=2 width=95% align=left>&nbsp; <font color=red face='Tahoma,Arail' size=2><b>Next Page ...</b></font><br><hr size=2 width=95% align=left>");
	preWin=window.open('preview','','left=0,top=0,width=550,height=400,resizable=1,scrollbars=1, status=1, toolbar=1, menubar=0');
	preWin.document.open();
	preWin.document.write(bodyTag);
	preWin.document.write(cont);
	preWin.document.close();
	preWin.document.title="Preview";
	preWin.document.charset=WBTB_charset;
}


// 修改编辑栏高度
function WBTB_Size(num)
{
	var obj=document.all.WBTB_Container;
	if (num<0) {
		//obj.width ="550"
		obj.height= "300"
	}
	if (num>0)
	{
		//obj.width="550";
		obj.height="600"
	}
}

/*
function WBTB_ubbcode(){
	if (!WBTB_validateMode()) return;
	cont=WBTB_getPureHtml(WBTB_Composition.document.body.innerHTML);
	var aryCode0 = new Array("<strong>","[b]","</strong>","[/b]","<p","[p","</p>","[/p]","<a href=","[url=","</a>","[/url]");
	var aryCode1 = new Array("<em>","[i]","</em>","[/i]","<u>","[u]","</u>","[/u]","<ul>","[list]","</ul>","[/list]","<ol>","[list=1]","</ol>","[/list]");
	var aryCode2 = new Array("<li>","[*]","</li>","","<font color=","[color=","<font face=","[font=","<font size=","[size=");
	var aryCode9 = new Array(">","]","<","[","</","[/");
	var aryCode = aryCode0.concat(aryCode1).concat(aryCode2).concat(aryCode9);
	
	for (var i=0;i<aryCode.length;i+=2){
		cont=WBTB_rCode(cont,aryCode[i],aryCode[i+1]);	
	}
//	eval("self.opener."+bodyID+".value+=cont;");
	self.close();
}

function WBTB_ubb2html(str){
	if (str=="")
		return str;
	var aryCode0 = new Array("<br>","\n","<strong>","\\[b]","</strong>","\\[/b]","<p","\\[p","</p>","\\[/p]","<a href=","\\[url=","</a>","\\[/url]");
	var aryCode1 = new Array("<em>","\\[i]","</em>","\\[/i]","<u>","\\[u]","</u>","\\[/u]","<ul>","\\[list]","</ul>","\\[/list]","<ol>","\\[list=1]","</ol>","\\[/list]");
	var aryCode = aryCode0.concat(aryCode1);
	
	for (var i=0;i<aryCode.length;i+=2){
		str=WBTB_rCode(str,aryCode[i+1],aryCode[i]);	
	}
	return str;
}
*/

// 拷贝数据到hidden
function WBTB_CopyData(hiddenid)
{
	d = WBTB_Composition.document;
	if (WBTB_bTextMode)
	{
		cont=d.body.innerText;
	}else{
		cont=d.body.innerHTML;  
	}
	cont=WBTB_correctUrl(cont);
	if (WBTB_filterScript)
		cont=WBTB_FilterScript(cont);
	document.getElementById(hiddenid).value = cont;  
	if (document.getElementById(hiddenid).value == '')
	{
	document.getElementById(hiddenid).value = '';
	}
}

function WBTB_insert(cons)
{
	var WBTB_Composition;
	WBTB_Composition.document.body.innerHTML=cons;
}

function WBTB_help()
{
	showModalDialog("../htmledit/wbTextBox/help.html", "", "dialogWidth:13.5em; dialogHeight:12.5em; status:0; help:0");
}

function getHTML() {
	var html;
	if (!WBTB_bTextMode) 
	{
	html = WBTB_Composition.document.body.innerHTML
	}
	else
	{
	html = WBTB_Composition.document.body.innerText
	}
	return html;
}

function getFocus() {
	if ( WBTB_Composition)
		WBTB_Composition.focus();
}

⌨️ 快捷键说明

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