📄 editor.js
字号:
'<tr>' +
'<td colspan="2" style="margin:5px;padding-bottom:5px;padding-left:5px">'+YuZi_LANG['WIDTH']+':<input type=text id="MediaWidth" value=300 size=4 style="border:1px solid #555555;"> '+YuZi_LANG['HEIGHT']+':<input type=text id=MediaHeigth value=250 size=4 style="border:1px solid #555555;"></td>' +
'</tr>' +
'<tr><td colspan="2" style="padding-bottom:5px;padding-left:5px">'+YuZi_LANG['AutoStart']+':<input type="checkbox" id="AutoStart" value="1" checked /> '+YuZi_LANG['StatusBar']+':<input type="checkbox" value="1" id=ShowStatusBar checked></td></tr>' +
'<tr><td colspan="2" style="margin:5px;padding-bottom:5px;" align="center">' +
'<input type="button" name="button" value="'+YuZi_LANG['PREVIEW']+'" onclick="parent.BBSXPMediaPreview();" /> ' +
'<input type="submit" name="button" id="'+cmd+'submitButton" value="'+YuZi_LANG['CONFIRM']+'" onclick="parent.BBSXPDrawMediaEnd();" /> ' +
'<input type="button" name="button" value="'+YuZi_LANG['CANCEL']+'" onclick="parent.BBSXPDisableMenu();" /></td></tr>' +
'</table>';
BBSXPDrawMenuIframe(YuZi_Media_DOCUMENT, str);
break;
case 'YuZi_LINK':
YuZi_LINK_DOCUMENT = YuZi_BROWSER == 'IE' ? document.frames('BBSXP'+cmd+'Iframe').document : $('BBSXP'+cmd+'Iframe').contentDocument;
var str = '';
str += '<table cellpadding="0" cellspacing="0" style="width:100%;font-size:12px;">' +
'<tr><td style="width:50px;padding:5px;">URL</td>' +
'<td style="width:200px;padding-top:5px;padding-bottom:5px;"><input type="text" id="hyperLink" value="http://" style="width:190px;border:1px solid #555555;background-color:#FFFFFF;"></td>' +
'<tr><td style="padding:5px;">'+YuZi_LANG['TARGET']+'</td>' +
'<td style="padding-bottom:5px;"><select id="hyperLinkTarget"><option value="_blank" selected="selected">'+YuZi_LANG['NEW_WINDOW']+'</option><option value="">'+YuZi_LANG['CURRENT_WINDOW']+'</option></select></td></tr>' +
'<tr><td colspan="2" style="padding-bottom:5px;" align="center">' +
'<input type="submit" name="button" id="'+cmd+'submitButton" value="'+YuZi_LANG['CONFIRM']+'" onclick="parent.BBSXPDrawLinkEnd();" /> ' +
'<input type="button" name="button" value="'+YuZi_LANG['CANCEL']+'" onclick="parent.BBSXPDisableMenu();" /></td></tr>';
str += '</table>';
BBSXPDrawMenuIframe(YuZi_LINK_DOCUMENT, str);
break;
default:
break;
}
}
function BBSXPDrawMenuIframe(obj, str)
{
obj.open();
obj.write(str);
obj.close();
obj.body.style.color = YuZi_MENU_TEXT_COLOR;
obj.body.style.backgroundColor = YuZi_MENU_BG_COLOR;
obj.body.style.margin = 0;
obj.body.scroll = 'no';
}
function BBSXPDrawTableSelected(i, j)
{
var text = i.toString(10) + ' 乘 ' + j.toString(10) + ' 表格';
$('tableLocation').innerHTML = text;
var num = 10;
for (m = 1; m <= num; m++) {
for (n = 1; n <= num; n++) {
var obj = $('BBSXPTableTd' + m.toString(10) + '_' + n.toString(10) + '');
if (m <= i && n <= j) {
obj.style.backgroundColor = YuZi_MENU_SELECTED_COLOR;
} else {
obj.style.backgroundColor = '#FFFFFF';
}
}
}
}
//ED2K_开始
function BBSXPInsertED2K()
{
var Ed2kUrl = YuZi_ED2K_DOCUMENT.ED2K.elements['ED2KURL'].value;
var re = /^ed2k:\/\/\|file\|[^\\\/:*?<>""|]+[\.]?[^\\\/:*?<>""|]+\|\d+\|[0-9a-zA-Z]{32}\|/;
if (Ed2kUrl != null){
var Ed2kUrlArray = new Array();
Ed2kUrlArray=Ed2kUrl.split('\n');
Ed2kUrl = '';
for(var i=0;i<Ed2kUrlArray.length;i++){
if (Ed2kUrlArray[i]!='' && re.test(Ed2kUrlArray[i]))Ed2kUrl += '[ed2k]'+Ed2kUrlArray[i].replace(/(^\s*)|(\s*$)/g,"")+'[/ed2k]';
}
var element = document.createElement("span");
element.appendChild(document.createTextNode(Ed2kUrl));
BBSXPInsertItem(element);
}
else {
BBSXPEditorForm.focus();
}
BBSXPDisableMenu();
}
//替换内容_开始
function BBSXPReplace()
{
var TextOne = YuZi_Replace_DOCUMENT.Replace.elements['TextOne'].value
var TextTwo = YuZi_Replace_DOCUMENT.Replace.elements['TextTwo'].value
var IgnoreCase = YuZi_Replace_DOCUMENT.Replace.elements['Case'].value
if (TextOne != null && TextTwo != null){
con = YuZi_EDITFORM_DOCUMENT.body.innerHTML;
if (IgnoreCase.toLowerCase() == "on"){
con = BBSXPRegEx(con,TextOne,TextTwo,true);
}
else{
con = BBSXPRegEx(con,a,b);
}
YuZi_EDITFORM_DOCUMENT.body.innerHTML = con;
}
else
BBSXPEditorForm.focus();
BBSXPDisableMenu();
}
function BBSXPRegEx(s,a,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);
}
//替换内容_结束
//插入图片 预览
function BBSXPImagePreview()
{
var url = YuZi_IMAGE_DOCUMENT.getElementById('imgLink').value;
if (url=="http://" || !url || url.length<10) {
alert(YuZi_LANG['INPUT_URL']);
return false;
}
var imgObj = YuZi_IMAGE_DOCUMENT.createElement("IMG");
imgObj.src = url;
var width = parseInt(imgObj.width);
var height = parseInt(imgObj.height);
var rate = parseInt(width/height);
if (width >240 && height <= 180) {
width = 240;
height = parseInt(width/rate);
} else if (width <=240 && height > 180) {
height = 180;
width = parseInt(height*rate);
} else if (width >240 && height > 180) {
height = 180;
width = parseInt(height*rate);
if (width >240) width = 240;
}
imgObj.style.width = width;
imgObj.style.height = height;
var el = YuZi_IMAGE_DOCUMENT.getElementById('imgPreview');
if (el.hasChildNodes()) {
el.removeChild(el.childNodes[0]);
}
el.appendChild(imgObj);
return imgObj;
}
//插入图片
function BBSXPDrawImageEnd()
{
var url = YuZi_IMAGE_DOCUMENT.getElementById('imgLink').value;
if (url=="http://" || !url || url.length<10) {
alert(YuZi_LANG['INPUT_URL']);
return false;
}
BBSXPEditorForm.focus();
var element = document.createElement("img");
element.src = url;
element.border = 0;
BBSXPSelect();
BBSXPInsertItem(element);
BBSXPDisableMenu();
}
function BBSXPGetMediaHtmlTag(url)
{
var str = '<embed src="'+url+'" quality="high" AutoStart="true"></embed>';
return str;
}
//插入Media 预览
function BBSXPMediaPreview()
{
var url = YuZi_Media_DOCUMENT.getElementById('MediaLink').value;
if (url=="http://" || !url || url.length<10) {
alert(YuZi_LANG['INPUT_URL']);
return false;
}
var el = YuZi_Media_DOCUMENT.getElementById('MediaPreview');
el.innerHTML = BBSXPGetMediaHtmlTag(url);
}
//插入Media
function BBSXPDrawMediaEnd()
{
var url = YuZi_Media_DOCUMENT.getElementById('MediaLink').value;
var Width = YuZi_Media_DOCUMENT.getElementById('MediaWidth').value;
var Height = YuZi_Media_DOCUMENT.getElementById('MediaHeigth').value;
if (url=="http://" || !url || url.length<10) {
alert(YuZi_LANG['INPUT_URL']);
return false;
}
BBSXPEditorForm.focus();
BBSXPSelect();
var obj = document.createElement("EMBED");
obj.src = url;
obj.style.width = Width;
obj.style.height = Height;
obj.quality = "high";
obj.autostart = YuZi_Media_DOCUMENT.getElementById('AutoStart').checked;
obj.ShowStatusBar = YuZi_Media_DOCUMENT.getElementById('ShowStatusBar').checked;
BBSXPInsertItem(obj);
BBSXPDisableMenu();
}
//插入链接
function BBSXPDrawLinkEnd()
{
var range;
var url = YuZi_LINK_DOCUMENT.getElementById('hyperLink').value;
var target = YuZi_LINK_DOCUMENT.getElementById('hyperLinkTarget').value;
if (url.match(/http|ftp|https|mailto|wais|telnet|news|gopher|mms:\/\/.{3,}/) == null) {
alert(YuZi_LANG['INPUT_URL']);
return false;
}
BBSXPEditorForm.focus();
BBSXPSelect();
var element;
if (YuZi_BROWSER != 'IE') {
BBSXPExecuteValue('CreateLink', url);
element = YuZi_RANGE.startContainer.previousSibling;
element.target = target;
if (target) {
element.target = target;
}
}
BBSXPDisableMenu();
}
function BBSXPSelection()
{
if (YuZi_BROWSER == 'IE') {
YuZi_SELECTION = YuZi_EDITFORM_DOCUMENT.selection;
YuZi_RANGE = YuZi_SELECTION.createRange();
YuZi_RANGE_TEXT = YuZi_RANGE.text;
}
else {
YuZi_SELECTION = $("BBSXPEditorForm").contentWindow.getSelection();
YuZi_RANGE = YuZi_SELECTION.getRangeAt(0);
YuZi_RANGE_TEXT = YuZi_RANGE.toString();
}
}
function BBSXPSelect()
{
if (YuZi_BROWSER == 'IE') {
YuZi_RANGE.select();
}
}
function BBSXPInsertItem(insertNode)
{
if (YuZi_BROWSER == 'IE') {
if (YuZi_SELECTION.type.toLowerCase() == 'control') {
YuZi_RANGE.item(0).outerHTML = insertNode.outerHTML;
}
else {
YuZi_RANGE.pasteHTML(insertNode.outerHTML);
}
}
else {
YuZi_SELECTION.removeAllRanges();
YuZi_RANGE.deleteContents();
var startRangeNode = YuZi_RANGE.startContainer;
var startRangeOffset = YuZi_RANGE.startOffset;
var newRange = document.createRange();
if (startRangeNode.nodeType == 3 && insertNode.nodeType == 3) {
startRangeNode.insertData(startRangeOffset, insertNode.nodeValue);
newRange.setEnd(startRangeNode, startRangeOffset + insertNode.length);
newRange.setStart(startRangeNode, startRangeOffset + insertNode.length);
}
else {
var afterNode;
if (startRangeNode.nodeType == 3) {
var textNode = startRangeNode;
startRangeNode = textNode.parentNode;
var text = textNode.nodeValue;
var textBefore = text.substr(0, startRangeOffset);
var textAfter = text.substr(startRangeOffset);
var beforeNode = document.createTextNode(textBefore);
var afterNode = document.createTextNode(textAfter);
startRangeNode.insertBefore(afterNode, textNode);
startRangeNode.insertBefore(insertNode, afterNode);
startRangeNode.insertBefore(beforeNode, insertNode);
startRangeNode.removeChild(textNode);
}
else {
if (startRangeNode.tagName.toLowerCase() == 'html') {
startRangeNode = startRangeNode.childNodes[0].nextSibling;
afterNode = startRangeNode.childNodes[0];
}
else {
afterNode = startRangeNode.childNodes[startRangeOffset];
}
startRangeNode.insertBefore(insertNode, afterNode);
}
newRange.setEnd(afterNode, 0);
newRange.setStart(afterNode, 0);
}
YuZi_SELECTION.addRange(newRange);
}
}
//清洁代码
function ClearCode(htmlStr,Type){
htmlStr = htmlStr.replace(/\<p>/gi,"[$p]");
htmlStr = htmlStr.replace(/\<\/p>/gi,"[$\/p]");
htmlStr = htmlStr.replace(/\<br>/gi,"[$br]");
htmlStr = htmlStr.replace(/\<[^>]*>/g,"");
if (Type == 1){
htmlStr = htmlStr.replace(/\[\$p\]/gi,"<p>");
htmlStr = htmlStr.replace(/\[\$\/p\]/gi,"<\/p>");
htmlStr = htmlStr.replace(/\[\$br\]/gi,"<br>");
}
else {
htmlStr = htmlStr.replace(/\[\$p\]/gi,"");
htmlStr = htmlStr.replace(/\[\$\/p\]/gi,",");
htmlStr = htmlStr.replace(/\[\$br\]/gi,",");
}
return htmlStr;
}
//非IE浏览器文字背景颜色
function BBSXPExecuteBackColor(value) {
var startRangeNode = YuZi_RANGE.startContainer;
if (startRangeNode.nodeType == 3) {
var parent = startRangeNode.parentNode;
var element = document.createElement("font");
element.style.backgroundColor = value;
element.appendChild(YuZi_RANGE.extractContents());
var startRangeOffset = YuZi_RANGE.startOffset;
var newRange = document.createRange();
var afterNode;
var textNode = startRangeNode;
startRangeNode = textNode.parentNode;
var text = textNode.nodeValue;
var textBefore = text.substr(0, startRangeOffset);
var textAfter = text.substr(startRangeOffset);
var beforeNode = document.createTextNode(textBefore);
var afterNode = document.createTextNode(textAfter);
startRangeNode.insertBefore(afterNode, textNode);
startRangeNode.insertBefore(element, afterNode);
startRangeNode.insertBefore(beforeNode, element);
startRangeNode.removeChild(textNode);
newRange.setEnd(afterNode, 0);
newRange.setStart(afterNode, 0);
YuZi_SELECTION.addRange(newRange);
}
}
function BBSXPExecuteValue(cmd, value)
{
if (value == 'YuZi_BackColor') {
value = YuZi_BackColor;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -