📄 edit.js
字号:
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> <\/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> <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 + -