📄 main.js
字号:
function Editor_UserDialog(what)
{
if (!Editor_validateMode()) return;
IframeID.focus();
if (what == "CreateLink") {
if (Editor_bIsNC)
{
insertLink = prompt("请填写超级链接地址信息:", "http://");
if ((insertLink != null) && (insertLink != "") && (insertLink != "undefined")) {
IframeID.document.execCommand('CreateLink', false, insertLink);
}else{
IframeID.document.execCommand('unlink', false, null);
}
}
else {
IframeID.document.execCommand(what, true, null);
}
}
//去掉添加图片时的src="file://
if(what == "InsertImage"){
imagePath = prompt('请填写图片链接地址信息:', 'http://');
if ((imagePath != null) && (imagePath != "")) {
IframeID.document.execCommand('InsertImage', false, imagePath);
}
IframeID.document.body.innerHTML = (IframeID.document.body.innerHTML).replace("src=\"file://","src=\"");
}
Editor_pureText = false;
IframeID.focus();
}
//--------------------
function Editor_GetRangeReference(editor)
{
editor.focus();
var objReference = null;
var RangeType = editor.document.selection.type;
var selectedRange = editor.document.selection.createRange();
switch(RangeType)
{
case 'Control' :
if (selectedRange.length > 0 )
{
objReference = selectedRange.item(0);
}
break;
case 'None' :
objReference = selectedRange.parentElement();
break;
case 'Text' :
objReference = selectedRange.parentElement();
break;
}
return objReference
}
function Editor_CheckTag(item,tagName)
{
if (item.tagName.search(tagName)!= -1)
{
return item;
}
if (item.tagName == 'BODY')
{
return false;
}
item=item.parentElement;
return Editor_CheckTag(item,tagName);
}
function Editor_code()
{
//Editor_specialtype("<div class=HtmlCode style='cursor: pointer'; title='点击运行该代码!' onclick=\"preWin=window.open('','','');preWin.document.open();preWin.document.write(this.innerText);preWin.document.close();\">","</div>");
Editor_specialtype("<div class=HtmlCode>","</div>");
}
function Editor_replace()
{
var arr = showModalDialog("editor/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 = IframeID.document.body.innerHTML;
if (i == 1)
{
con = Editor_rCode(con,a,b,true);
}else{
con = Editor_rCode(con,a,b);
}
IframeID.document.body.innerHTML = con;
}
else IframeID.focus();
}
function insertSpecialChar()
{
var arr = showModalDialog("editor/specialchar.html", "","dialogWidth:25em; dialogHeight:15em; status:0; help:0");
if (arr != null) Editor_InsertSymbol(arr);
IframeID.focus() ;
}
function doZoom( sizeCombo )
{
if (sizeCombo.value != null || sizeCombo.value != "")
if (Editor_bIsIE5){
var z = IframeID.document.body.runtimeStyle;}
else{
var z = IframeID.document.body.style;
}
z.zoom = sizeCombo.value + "%" ;
}
//--------------------
function Editor_fortable()
{
if (!Editor_validateMode()) return;
IframeID.focus();
var arr = showModalDialog("editor/table.html", window, "dialogWidth:22em; dialogHeight:18em; status:0; help:0;scroll:no;");
if (arr)
{
IframeID.document.body.innerHTML+=arr;
}
IframeID.focus();
}
function Editor_InsertRow()
{
editor = IframeID;
objReference = Editor_GetRangeReference(editor);
objReference = Editor_CheckTag(objReference,'/^(TABLE)|^(TR)|^(TD)|^(TBODY)/');
switch(objReference.tagName)
{
case 'TABLE' :
var newTable = objReference.cloneNode(true);
var newRow = newTable.insertRow();
for(x = 0; x<newTable.rows[0].cells.length; x++)
{
var newCell = newRow.insertCell();
}
objReference.outerHTML = newTable.outerHTML;
break;
case 'TBODY' :
var newTable = objReference.cloneNode(true);
var newRow = newTable.insertRow();
for(x = 0; x<newTable.rows[0].cells.length; x++)
{
var newCell = newRow.insertCell();
}
objReference.outerHTML=newTable.outerHTML;
break;
case 'TR' :
var rowIndex = objReference.rowIndex;
var parentTable = objReference.parentElement.parentElement;
var newTable = parentTable.cloneNode(true);
var newRow = newTable.insertRow(rowIndex+1);
for(x = 0; x< newTable.rows[0].cells.length; x++)
{
var newCell = newRow.insertCell();
}
parentTable.outerHTML = newTable.outerHTML;
break;
case 'TD' :
var parentRow = objReference.parentElement;
var rowIndex = parentRow.rowIndex;
var cellIndex = objReference.cellIndex;
var parentTable = objReference.parentElement.parentElement.parentElement;
var newTable = parentTable.cloneNode(true);
var newRow = newTable.insertRow(rowIndex+1);
for(x = 0; x< newTable.rows[0].cells.length; x++)
{
var newCell = newRow.insertCell();
if (x == cellIndex)newCell.id='ura';
}
parentTable.outerHTML = newTable.outerHTML;
var r = editor.document.body.createTextRange();
var item = editor.document.getElementById('ura');
item.id = '';
r.moveToElementText(item);
r.moveStart('character',r.text.length);
r.select();
break;
default :
return;
}
}
function Editor_DeleteRow()
{
editor=IframeID;
objReference=Editor_GetRangeReference(editor);
objReference=Editor_CheckTag(objReference,'/^(TABLE)|^(TR)|^(TD)|^(TBODY)/');
switch(objReference.tagName)
{
case 'TR' :var rowIndex = objReference.rowIndex;//Get rowIndex
var parentTable=objReference.parentElement.parentElement;
parentTable.deleteRow(rowIndex);
break;
case 'TD' :var cellIndex=objReference.cellIndex;
var parentRow=objReference.parentElement;//Get Parent Row
var rowIndex = parentRow.rowIndex;//Get rowIndex
var parentTable=objReference.parentElement.parentElement.parentElement;
parentTable.deleteRow(rowIndex);
if (rowIndex>=parentTable.rows.length)
{
rowIndex=parentTable.rows.length-1;
}
if (rowIndex>=0)
{
var r = editor.document.body.createTextRange();
r.moveToElementText(parentTable.rows[rowIndex].cells[cellIndex]);
r.moveStart('character',r.text.length);
r.select();
}
else
{
parentTable.removeNode(true);
}
break;
default :return;
}
}
function Editor_InsertColumn()
{
editor = IframeID;
objReference= Editor_GetRangeReference(editor);
objReference=Editor_CheckTag(objReference,'/^(TABLE)|^(TR)|^(TD)|^(TBODY)/');
switch(objReference.tagName)
{
case 'TABLE' :// IF a table is selected, it adds a new column on the right hand side of the table.
var newTable=objReference.cloneNode(true);
for(x=0; x<newTable.rows.length; x++)
{
var newCell = newTable.rows[x].insertCell();
}
newCell.focus();
objReference.outerHTML=newTable.outerHTML;
break;
case 'TBODY' :// IF a table is selected, it adds a new column on the right hand side of the table.
var newTable=objReference.cloneNode(true);
for(x=0; x<newTable.rows.length; x++)
{
var newCell = newTable.rows[x].insertCell();
}
objReference.outerHTML=newTable.outerHTML;
break;
case 'TR' :// IF a table is selected, it adds a new column on the right hand side of the table.
objReference=objReference.parentElement.parentElement;
var newTable=objReference.cloneNode(true);
for(x=0; x<newTable.rows.length; x++)
{
var newCell = newTable.rows[x].insertCell();
}
objReference.outerHTML=newTable.outerHTML;
break;
case 'TD' :// IF the cursor is in a cell, or a cell is selected, it adds a new column to the right of that cell.
var cellIndex = objReference.cellIndex;//Get cellIndex
var rowIndex=objReference.parentElement.rowIndex;
var parentTable=objReference.parentElement.parentElement.parentElement;
var newTable=parentTable.cloneNode(true);
for(x=0; x<newTable.rows.length; x++)
{
var newCell = newTable.rows[x].insertCell(cellIndex+1);
if (x==rowIndex)newCell.id='ura';
}
parentTable.outerHTML=newTable.outerHTML;
var r = editor.document.body.createTextRange();
var item=editor.document.getElementById('ura');
item.id='';
r.moveToElementText(item);
r.moveStart('character',r.text.length);
r.select();
break;
default :
return;
}
}
function Editor_DeleteColumn()
{
editor = IframeID;
objReference=Editor_GetRangeReference(editor);
objReference=Editor_CheckTag(objReference,'/^(TABLE)|^(TR)|^(TD)|^(TBODY)/');
switch(objReference.tagName)
{
case 'TD' :var rowIndex=objReference.parentElement.rowIndex;
var cellIndex = objReference.cellIndex;//Get cellIndex
var parentTable=objReference.parentElement.parentElement.parentElement;
var newTable=parentTable.cloneNode(true);
if (newTable.rows[0].cells.length==1)
{
parentTable.removeNode(true);
return;
}
for(x=0; x<newTable.rows.length; x++)
{
if (newTable.rows[x].cells[cellIndex]=='[object]')
{
newTable.rows[x].deleteCell(cellIndex);
}
}
if (cellIndex>=newTable.rows[0].cells.length)
{
cellIndex=newTable.rows[0].cells.length-1;
}
if (cellIndex>=0) newTable.rows[rowIndex].cells[cellIndex].id='ura';
parentTable.outerHTML=newTable.outerHTML;
if (cellIndex>=0){
var r = editor.document.body.createTextRange();
var item=editor.document.getElementById('ura');
item.id='';
r.moveToElementText(item);
r.moveStart('character',r.text.length);
r.select();
}
break;
default :return;
}
}
var Quote = 0;
var Bold = 0;
var Italic = 0;
var Underline = 0;
var Code = 0;
var Center = 0;
var Strike = 0;
var Sound = 0;
var Swf = 0;
var Ra = 0;
var Rm = 0;
var Marquee = 0;
var Fly = 0;
var fanzi=0;
var text_enter_url = "请输入连接网址";
var text_enter_txt = "请输入连接说明";
var text_enter_image = "请输入图片网址";
var text_enter_sound = "请输入声音文件网址";
var text_enter_swf = "请输入FLASH动画网址";
var text_enter_ra = "请输入Real音乐网址";
var text_enter_rm = "请输入Real影片网址";
var text_enter_wmv = "请输入Media影片网址";
var text_enter_wma = "请输入Media音乐网址";
var text_enter_mov = "请输入QuickTime音乐网址";
var text_enter_sw = "请输入shockwave音乐网址";
var text_enter_email = "请输入邮件网址";
var error_no_url = "您必须输入网址";
var error_no_txt = "您必须连接说明";
var error_no_title = "您必须输入首页标题";
var error_no_email = "您必须输入邮件网址";
var error_no_gset = "必须正确按照各式输入!";
var error_no_gtxt = "必须输入文字!";
var text_enter_guang1 = "文字的长度、颜色和边界大小";
var text_enter_guang2 = "要产生效果的文字!";
var text_enter_points = "请输入数值,如:1000 (即限制积分在1000点以下的用户不能浏览该内容!)";
var error_no_points = "您必须输入数值,如:1000";
var text_enter_money = "请输入数值,如:1000 (即限制金钱在1000点以下的用户不能浏览该内容!)";
var error_no_moeny = "您必须输入数值,如:1000";
var text_enter_power = "请输入数值,如:1000 (即限制威望在1000点以下的用户不能浏览该内容!)";
var error_no_power = "您必须输入数值,如:1000";
var text_enter_post = "请输入数值,如:1000 (即限制发表文章在1000点以下的用户不能浏览该内容!)";
var error_no_post = "您必须输入数值,如:1000";
var text_enter_usercp = "请输入数值,如:1000 (即限制魅力值在1000点以下的用户不能浏览该内容!)";
var error_no_usercp = "您必须输入数值,如:1000";
var text_enter_usemoney = "请输入数值,如:1000 (即只有用户支付了1000点金钱才能浏览该内容!)";
var error_no_usemoney = "您必须输入数值,如:1000";
var Editor_bIsIE5=document.all
function commentWrite(NewCode) {
IframeID.document.body.innerHTML+=NewCode;
IframeID.focus();
return;
}
function storeCaret(text) {
if (text.createTextRange) {
text.caretPos = document.selection.createRange().duplicate();
}
if(event.ctrlKey && window.event.keyCode==13){i++;if (i>1) {alert('帖子正在发出,请耐心等待!');return false;}this.document.form.submit();}
}
function AddText(text) {
if (IframeID.document.body.createTextRange && IframeID.document.body.caretPos) {
var caretPos = IframeID.document.body.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?
text + ' ' : text;
}
else IframeID.document.body.innerHTML += text;
IframeID.focus(caretPos);
}
function inputs(str)
{
AddText(str);
}
function Curl() {
var FoundErrors = '';
var enterURL = prompt(text_enter_url, "http://");
var enterTxT = prompt(text_enter_txt, enterURL);
if (!enterURL) {
FoundErrors += "\n" + error_no_url;
}
if (!enterTxT) {
FoundErrors += "\n" + error_no_txt;
}
if (FoundErrors) {
alert("错误!"+FoundErrors);
return;
}
var ToAdd = "[URL="+enterURL+"]"+enterTxT+"[/URL]";
IframeID.document.body.innerHTML+=ToAdd;
IframeID.focus();
}
function Cimage() {
var FoundErrors = '';
var enterURL = prompt(text_enter_image, "http://");
if (!enterURL) {
FoundErrors += "\n" + error_no_url;
}
if (FoundErrors) {
alert("错误!"+FoundErrors);
return;
}
var ToAdd = "[IMG]"+enterURL+"[/IMG]";
IframeID.document.body.innerHTML+=ToAdd;
IframeID.focus();
}
function Cemail() {
var emailAddress = prompt(text_enter_email,"");
if (!emailAddress) { alert(error_no_email); return; }
var ToAdd = "[EMAIL]"+emailAddress+"[/EMAIL]";
commentWrite(ToAdd);
}
function Ccode() {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -