📄 editor.js
字号:
Array('YuZi_UNSELECT', 'unselect.gif', '取消全选'),
Array('YuZi_REMOVE', 'RemoveFormat.gif', '清除格式'),
Array('YuZi_Delete','delete.gif','删除当前选中区域'),
Array('YuZi_DATE', 'date.gif', '日期'),
Array('YuZi_TIME', 'time.gif', '时间')
);
var YuZi_TITLE_TABLE = Array(
Array('H1', YuZi_LANG['SUBJECT'] + ' 1'),
Array('H2', YuZi_LANG['SUBJECT'] + ' 2'),
Array('H3', YuZi_LANG['SUBJECT'] + ' 3'),
Array('H4', YuZi_LANG['SUBJECT'] + ' 4'),
Array('H5', YuZi_LANG['SUBJECT'] + ' 5'),
Array('H6', YuZi_LANG['SUBJECT'] + ' 6')
);
var YuZi_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 YuZi_COLOR_TABLE = Array(
"#000000","#993300","#333300","#003300","#003366","#000080","#333399","#333333",
"#800000","#FF6600","#808000","#008000","#008080","#0000FF","#666699","#808080",
"#FF0000","#FF9900","#99CC00","#339966","#33CCCC","#3366FF","#800080","#999999",
"#FF00FF","#FFCC00","#FFFF00","#00FF00","#00FFFF","#00CCFF","#993366","#C0C0C0",
"#FF99CC","#FFCC99","#FFFF99","#CCFFCC","#CCFFFF","#99CCFF","#CC99FF","#FFFFFF"
);
var YuZi_OBJ_NAME;
var YuZi_SELECTION;
var YuZi_RANGE;
var YuZi_RANGE_TEXT;
var YuZi_EDITFORM_DOCUMENT;
var YuZi_Replace_DOCUMENT;
var YuZi_ED2K_DOCUMENT;
var YuZi_IMAGE_DOCUMENT;
var YuZi_Media_DOCUMENT;
var YuZi_LINK_DOCUMENT;
var YuZi_BROWSER;
var YuZi_TOOLBAR_ICON;
//浏览器类型
function BBSXPGetBrowser()
{
var browser = '';
if (UserAgent.indexOf("msie") > -1) {
var re = new RegExp("msie\\s?([\\d\\.]+)","ig");
var arr = re.exec(UserAgent);
if (parseInt(RegExp.$1) >= 5.5) {
browser = 'IE';
}
} else if (UserAgent.indexOf("firefox") > -1) {
browser = 'FF';
} else if (UserAgent.indexOf("netscape") > -1) {
var temp1 = UserAgent.split(' ');
var temp2 = temp1[temp1.length-1].split('/');
if (parseInt(temp2[1]) >= 7) {
browser = 'NS';
}
} else if (UserAgent.indexOf("gecko") > -1) {
browser = 'ML';
} else if (UserAgent.indexOf("opera") > -1) {
var temp1 = UserAgent.split(' ');
var temp2 = temp1[0].split('/');
if (parseInt(temp2[1]) >= 9) {
browser = 'OPERA';
}
}
return browser;
}
function BBSXPHtmlToXhtml(str)
{
str = str.replace(/<br.*?>/gi, "<br />");
str = str.replace(/(<hr\s+[^>]*[^\/])(>)/gi, "$1 />");
str = str.replace(/(<img\s+[^>]*[^\/])(>)/gi, "$1 />");
str = str.replace(/(<\w+)(.*?>)/gi, function ($0,$1,$2) {
return($1.toLowerCase() + BBSXPConvertAttribute($2));
}
);
str = str.replace(/(<\/\w+>)/gi, function ($0,$1) {
return($1.toLowerCase());
}
);
return str;
}
function BBSXPConvertAttribute(str)
{
if (YuZi_SAFE_MODE == true) {
str = BBSXPClearAttributeScriptTag(str);
}
return str;
}
function BBSXPClearAttributeScriptTag(str)
{
var re = new RegExp("(\\son[a-z]+=)[\"']?[^>]*?[^\\\\\>][\"']?([\\s>])","ig");
str = str.replace(re, function ($0,$1,$2) {
return($1.toLowerCase() + "\"\"" + $2);
}
);
return str;
}
function BBSXPClearScriptTag(str)
{
if (YuZi_SAFE_MODE == false) {
return str;
}
str = str.replace(/<(script.*?)>/gi, "[$1]");
str = str.replace(/<\/script>/gi, "[/script]");
return str;
}
function BBSXPHtmlentities(str)
{
str = str.replace(/&/g,'&');
str = str.replace(/</g,'<');
str = str.replace(/>/g,'>');
str = str.replace(/"/g,'"');
return str;
}
function BBSXPDisplayMenu(cmd)
{
BBSXPEditorForm.focus();
BBSXPSelection();
var Top = ie_y($(cmd))+25;
var Left = ie_x($(cmd));
$('Yuzi_TempDiv').style.top = Top.toString(10) + 'px';
$('Yuzi_TempDiv').style.left = Left.toString(10) + 'px';
$('Yuzi_TempDiv').style.display = 'block';
$('Yuzi_TempDiv').innerHTML = BBSXPRealTimePopup(cmd);
}
function BBSXPDisableMenu()
{
$('Yuzi_TempDiv').innerHTML = 'Loading...';
$('Yuzi_TempDiv').style.display = 'none';
}
function BBSXPGetMenuCommonStyle()
{
var str = 'position:absolute;top:1px;left:1px;font-size:12px;color:'+YuZi_MENU_TEXT_COLOR+
';background-color:'+YuZi_MENU_BG_COLOR+';border:solid 1px '+YuZi_MENU_BORDER_COLOR+';z-index:1;display:none;';
return str;
}
function BBSXPCreateColorTable(cmd, eventStr)
{
var str = '';
str += '<table cellpadding="0" cellspacing="2" border="0">';
for (i = 0; i < YuZi_COLOR_TABLE.length; i++) {
if (i == 0 || (i >= 8 && i%8 == 0)) {
str += '<tr>';
}
str += '<td style="width:12px;height:12px;border:1px solid #AAAAAA;font-size:1px;cursor:pointer;background-color:' +
YuZi_COLOR_TABLE[i] + ';" onmouseover="this.style.borderColor=\'#000000\';' + ((eventStr) ? eventStr : '') + '" ' +
'onmouseout="this.style.borderColor=\'#AAAAAA\';" ' +
'onclick="BBSXPExecute(\''+cmd+'_END\', \'' + YuZi_COLOR_TABLE[i] + '\');"> </td>';
if (i >= 7 && i%(i-1) == 0) {
str += '</tr>';
}
}
str += '</table>';
return str;
}
//弹出菜单
function BBSXPRealTimePopup(cmd){
switch (cmd)
{
case 'YuZi_TITLE':
var str = '';
for (i = 0; i < YuZi_TITLE_TABLE.length; i++) {
str += '<div style="cursor:pointer;" ' +
'onclick="BBSXPExecute(\'YuZi_TITLE_END\', \'' + YuZi_TITLE_TABLE[i][0] + '\');" ' +
'onmouseover="this.style.backgroundColor=\''+YuZi_MENU_SELECTED_COLOR+'\';" ' +
'onmouseout="this.style.backgroundColor=\''+YuZi_MENU_BG_COLOR+'\';"><' + YuZi_TITLE_TABLE[i][0] + ' style="margin:2px;">' +
YuZi_TITLE_TABLE[i][1] + '</' + YuZi_TITLE_TABLE[i][0] + '></div>';
}
return str;
break;
case 'YuZi_FONTNAME':
var str = '';
for (i = 0; i < YuZi_FONT_NAME.length; i++) {
str += '<div style="font-family:' + YuZi_FONT_NAME[i][0] +
';padding:2px;cursor:pointer;" ' +
'onclick="BBSXPExecute(\'YuZi_FONTNAME_END\', \'' + YuZi_FONT_NAME[i][0] + '\');" ' +
'onmouseover="this.style.backgroundColor=\''+YuZi_MENU_SELECTED_COLOR+'\';" ' +
'onmouseout="this.style.backgroundColor=\''+YuZi_MENU_BG_COLOR+'\';">' +
YuZi_FONT_NAME[i][1] + '</div>';
}
return str;
break;
case 'YuZi_FONTSIZE':
var str = '';
for (i = 0; i < YuZi_FONT_SIZE.length; i++) {
str += '<div style="font-size:' + YuZi_FONT_SIZE[i][1] +
';padding:2px;cursor:pointer;" ' +
'onclick="BBSXPExecute(\'YuZi_FONTSIZE_END\', \'' + YuZi_FONT_SIZE[i][0] + '\');" ' +
'onmouseover="this.style.backgroundColor=\''+YuZi_MENU_SELECTED_COLOR+'\';" ' +
'onmouseout="this.style.backgroundColor=\''+YuZi_MENU_BG_COLOR+'\';">' +
YuZi_FONT_SIZE[i][1] + '</div>';
}
return str;
break;
case 'YuZi_TEXTCOLOR':
var str = '';
str = BBSXPCreateColorTable('YuZi_TEXTCOLOR');
return str;
break;
case 'YuZi_BGCOLOR':
var str = '';
str = BBSXPCreateColorTable('YuZi_BGCOLOR');
return str;
break;
case 'YuZi_HR':
var str = '';
str += '<div id="hrPreview" style="width:125px;margin:10px 2px 10px 2px;height:1px;border:0;font-size:0;background-color:#FFFFFF;"></div>';
str += BBSXPCreateColorTable(cmd, '$(\'hrPreview\').style.backgroundColor = this.style.backgroundColor;');
return str;
break;
case 'YuZi_SPECIALCHAR':
var str = '';
str += '<table cellpadding="0" cellspacing="2">';
for (i = 0; i < YuZi_SPECIAL_CHARACTER.length; i++) {
if (i == 0 || (i >= 10 && i%10 == 0)) {
str += '<tr>';
}
str += '<td style="padding:2px;border:1px solid #AAAAAA;cursor:pointer;" ' +
'onclick="BBSXPExecute(\'YuZi_SPECIALCHAR_END\', \'' + YuZi_SPECIAL_CHARACTER[i] + '\');" ' +
'onmouseover="this.style.borderColor=\'#000000\';" ' +
'onmouseout="this.style.borderColor=\'#AAAAAA\';">' + YuZi_SPECIAL_CHARACTER[i] + '</td>';
if (i >= 9 && i%(i-1) == 0) {
str += '</tr>';
}
}
str += '</table>';
return str;
break;
case 'YuZi_TABLE':
var str = '';
var num = 10;
str += '<table cellpadding="0" cellspacing="0">';
for (i = 1; i <= num; i++) {
str += '<tr>';
for (j = 1; j <= num; j++) {
var value = i.toString(10) + ',' + j.toString(10);
str += '<td id="BBSXPTableTd' + i.toString(10) + '_' + j.toString(10) +
'" style="width:15px;height:15px;background-color:#FFFFFF;border:1px solid #DDDDDD;cursor:pointer;" ' +
'onclick="BBSXPExecute(\'YuZi_TABLE_END\', \'' + value + '\');" ' +
'onmouseover="BBSXPDrawTableSelected(\''+i.toString(10)+'\', \''+j.toString(10)+'\');" ' +
'onmouseout=""> </td>';
}
str += '</tr>';
}
str += '<tr><td colspan="10" id="tableLocation" style="text-align:center;height:20px;"></td></tr>';
str += '</table>';
return str;
break;
case 'YuZi_ICON':
return BBSXPCube();
break;
case 'YuZi_Replace':
var str = '';
str += '<iframe name="BBSXP'+cmd+'Iframe" id="BBSXP'+cmd+'Iframe" frameborder="0" style="width:250px;height:120px;padding:0;margin:0;border:0;"></iframe>';
return str;
break;
case 'YuZi_ED2K':
var str = '';
str += '<iframe name="BBSXP'+cmd+'Iframe" id="BBSXP'+cmd+'Iframe" frameborder="0" style="width:510px;height:180px;padding:0;margin:0;border:0;"></iframe>';
return str;
break;
case 'YuZi_IMAGE':
var str = '';
str += '<iframe name="BBSXP'+cmd+'Iframe" id="BBSXP'+cmd+'Iframe" frameborder="0" style="width:250px;height:240px;padding:0;margin:0;border:0;"></iframe>';
return str;
break;
case 'YuZi_Media':
var str = '';
str += '<iframe name="BBSXP'+cmd+'Iframe" id="BBSXP'+cmd+'Iframe" frameborder="0" style="width:250px;height:300px;padding:0;margin:0;border:0;"></iframe>';
return str;
break;
case 'YuZi_LINK':
var str = '';
str += '<iframe name="BBSXP'+cmd+'Iframe" id="BBSXP'+cmd+'Iframe" frameborder="0" style="width:250px;height:85px;padding:0;margin:0;border:0;"></iframe>';
return str;
break;
default:
break;
}
}
function BBSXPDrawIframe(cmd)
{
switch (cmd)
{
case 'YuZi_IMAGE':
YuZi_IMAGE_DOCUMENT = (YuZi_BROWSER == 'IE') ? document.frames('BBSXP'+cmd+'Iframe').document : $('BBSXP'+cmd+'Iframe').contentDocument;
var str = '';
str += '<div align="center">' +
'<form name="uploadForm" style="margin:0;padding:0;" method="post" onsubmit="javascript:if(parent.BBSXPDrawImageEnd()==false){return false;};">' +
'<input type="hidden" name="fileName" id="fileName" value="" />' +
'<table cellpadding="0" cellspacing="0" style="width:100%;font-size:12px;">' +
'<tr><td colspan="2"><table border="0" style="margin-bottom:3px;"><tr><td id="imgPreview" style="width:240px;height:180px;border:1px solid #AAAAAA;background-color:#FFFFFF;" align="center" valign="middle"> </td></tr></table></td></tr>' +
'<tr><td style="width:40px;padding-left:5px;">';
str += YuZi_LANG['REMOTE'];
str += '</td><td style="width:210px;padding-bottom:3px;">';
str += '<input type="text" id="imgLink" value="http://" maxlength="255" style="width:95%;border:1px solid #555555;" />';
str += '</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.BBSXPImagePreview();" /> ' +
'<input type="submit" name="button" id="'+cmd+'submitButton" value="'+YuZi_LANG['CONFIRM']+'" /> ' +
'<input type="button" name="button" value="'+YuZi_LANG['CANCEL']+'" onclick="parent.BBSXPDisableMenu();" /></td></tr>' +
'</table></form></div>';
BBSXPDrawMenuIframe(YuZi_IMAGE_DOCUMENT, str);
break;
case 'YuZi_Replace':
YuZi_Replace_DOCUMENT = YuZi_BROWSER == 'IE' ? document.frames('BBSXP'+cmd+'Iframe').document : $('BBSXP'+cmd+'Iframe').contentDocument;
var str = '<table border=0 cellpadding=2 style="background:'+YuZi_MENU_BG_COLOR+';width:100%;height:100%;font-size:12px;">';
str += '<form name=Replace method="Post">';
str += '<tr><td>'+YuZi_LANG['Search']+'<input type=text name=TextOne value=></td></tr>';
str += '<tr><td>'+YuZi_LANG['Replace']+'<input type=text name=TextTwo value=></td></tr>';
str += '<tr><td> <input type=checkbox id=Case /> <label for="Case">'+YuZi_LANG['CaseChkBox']+'</label></td></tr>';
str += '<tr><td align=center><input id="YuZi_ReplacesubmitButton" type="button" value=" '+YuZi_LANG['ReplaceButton']+' " onclick="parent.BBSXPReplace();"> <input type=button value=" '+YuZi_LANG['CANCEL']+' " onclick="parent.BBSXPDisableMenu();"></td></tr>';
str += '</form></table>';
BBSXPDrawMenuIframe(YuZi_Replace_DOCUMENT, str);
break;
case 'YuZi_ED2K':
YuZi_ED2K_DOCUMENT = YuZi_BROWSER == 'IE' ? document.frames('BBSXP'+cmd+'Iframe').document : $('BBSXP'+cmd+'Iframe').contentDocument;
var str = '<table border=0 cellpadding=2 style="background:'+YuZi_MENU_BG_COLOR+';width:100%;height:100%;font-size:12px;">';
str += '<form name=ED2K method="Post">';
str += '<tr><td>'+YuZi_LANG['ED2K']+'</td><td align=right><a href="http://www.ed2000.com" title="ED2000资源分享" target="_blank">更多ED2K资源</a></td></tr>';
str += '<tr><td colspan=2><textarea name=ED2KURL cols=58 rows=5></textarea></td></tr>';
str += '<tr><td colspan=2 align=center><input id="YuZi_ED2KsubmitButton" type="button" value=" '+YuZi_LANG['CONFIRM']+' " onclick="parent.BBSXPInsertED2K();"> <input type=button value=" '+YuZi_LANG['CANCEL']+' " onclick="parent.BBSXPDisableMenu();"></td></tr>';
str += '</form></table>';
BBSXPDrawMenuIframe(YuZi_ED2K_DOCUMENT, str);
break;
case 'YuZi_Media':
YuZi_Media_DOCUMENT = YuZi_BROWSER == 'IE' ? document.frames('BBSXP'+cmd+'Iframe').document : $('BBSXP'+cmd+'Iframe').contentDocument;
var str = '<table cellpadding="0" cellspacing="0" style="width:100%;font-size:12px;">' +
'<tr><td colspan="2"><table border="0"><tr><td id="MediaPreview" style="width:240px;height:180px;border:1px solid #AAAAAA;background-color:#FFFFFF;" align="center" valign="middle"> </td></tr></table></td></tr>' +
'<tr><td style="width:20px;padding:5px;">'+YuZi_LANG['REMOTE']+'</td>' +
'<td style="width:230px;padding-bottom:5px;padding-top:5px"><input type="text" id="MediaLink" value="http://" style="width:195px;border:1px solid #555555;" /></td></tr>' +
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -