?? ubbeditor.js
字號:
var Quote = 0;
var Bold = 0;
var Italic = 0;
var Underline = 0;
var Code = 0;
var editObj;
var fontbegin;
var fontend;
var ToolBar = Array(
Array('Ubb_fly', 'fly.gif','飛行字'),
Array('Ubb_move', 'move.gif', '移動字'),
Array('Ubb_glow', 'glow.gif', '發光字'),
Array('Ubb_shadow', 'shadow.gif', '陰影字'),
Array('Ubb_bold', 'bold.gif', '粗體字'),
Array('Ubb_italicize', 'italicize.gif', '斜體字'),
Array('Ubb_underline', 'underline.gif', '下劃線'),
Array('Ubb_sup', 'sup.gif', '上標'),
Array('Ubb_sub', 'sub.gif', '下標'),
Array('Ubb_code', 'code.gif', '插入代碼'),
Array('Ubb_fontsize', 'fontsize.gif', '字體大小'),
Array('Ubb_fontcolor', 'fontcolor.gif', '字體顏色'),
Array('Ubb_center', 'center.gif', '居中'),
Array('Ubb_image', 'image.gif', '圖片'),
Array('Ubb_Shockwave', 'Shockwave.gif', 'Shockwave文件'),
Array('Ubb_rm', 'rm.gif', 'realplayer文件'),
Array('Ubb_mp', 'mp.gif', 'media player文件'),
Array('Ubb_url', 'url.gif', '超鏈接'),
Array('Ubb_email', 'email.gif', 'Email鏈接'),
Array('Ubb_csound', 'csound.gif', '背景音樂'),
Array('Ubb_ra', 'ra.gif', 'real音頻文件'),
Array('Ubb_6kbbs', '6kbbs.gif', '特殊帖子'),
Array('Ubb_face', 'face.gif', '表情')
);
var FontColor = Array(
"#FF0000", "#FFFF00", "#00FF00", "#00FFFF", "#0000FF", "#FF00FF", "#FFFFFF", "#F5F5F5", "#DCDCDC", "#FFFAFA",
"#D3D3D3", "#C0C0C0", "#A9A9A9", "#808080", "#696969", "#000000", "#2F4F4F", "#708090", "#778899", "#4682B4",
"#4169E1", "#6495ED", "#B0C4DE", "#7B68EE", "#6A5ACD", "#483D8B", "#191970", "#000080", "#00008B", "#0000CD",
"#1E90FF", "#00BFFF", "#87CEFA", "#87CEEB", "#ADD8E6", "#B0E0E6", "#F0FFFF", "#E0FFFF", "#AFEEEE", "#00CED1",
"#5F9EA0", "#48D1CC", "#00FFFF", "#40E0D0", "#20B2AA", "#008B8B", "#008080", "#7FFFD4", "#66CDAA", "#8FBC8F",
"#3CB371", "#2E8B57", "#006400", "#008000", "#228B22", "#32CD32", "#00FF00", "#7FFF00", "#7CFC00", "#ADFF2F",
"#98FB98", "#90EE90", "#00FF7F", "#00FA9A", "#556B2F", "#6B8E23", "#808000", "#BDB76B", "#B8860B", "#DAA520",
"#FFD700", "#F0E68C", "#EEE8AA", "#FFEBCD", "#FFE4B5", "#F5DEB3", "#FFDEAD", "#DEB887", "#D2B48C", "#BC8F8F",
"#A0522D", "#8B4513", "#D2691E", "#CD853F", "#F4A460", "#8B0000", "#800000", "#A52A2A", "#B22222", "#CD5C5C",
"#F08080", "#FA8072", "#E9967A", "#FFA07A", "#FF7F50", "#FF6347", "#FF8C00", "#FFA500", "#FF4500", "#DC143C",
"#FF0000", "#FF1493", "#FF00FF", "#FF69B4", "#FFB6C1", "#FFC0CB", "#DB7093", "#C71585", "#800080", "#8B008B",
"#9370DB", "#8A2BE2", "#4B0082", "#9400D3", "#9932CC", "#BA55D3", "#DA70D6", "#EE82EE", "#DDA0DD", "#D8BFD8",
"#E6E6FA", "#F8F8FF", "#F0F8FF", "#F5FFFA", "#F0FFF0", "#FAFAD2", "#FFFACD", "#FFF8DC", "#FFFFE0", "#FFFFF0",
"#FFFAF0", "#FAF0E6", "#FDF5E6", "#FAEBD7", "#FFE4C4", "#FFDAB9", "#FFEFD5", "#FFF5EE", "#FFF0F5", "#FFE4E1"
);
function ClearHtml()
{
document.getElementById('MenuName').innerHTML ='';
document.getElementById('MenuData').innerHTML ='';
}
function GetObjTop(id)
{
var obj = document.getElementById(id);
var top = obj.offsetTop;
while (obj=obj.offsetParent) {
top += obj.offsetTop;
}
return top;
}
function GetObjLeft(id)
{
var obj = document.getElementById(id);
var left = obj.offsetLeft;
while (obj=obj.offsetParent) {
left += obj.offsetLeft;
}
return left;
}
function GetMenuStyle(top, left)
{
var str = 'padding:5px;width:150px;position:absolute;top:'+top+'px;left:'+left+'px;background-color:#FFFFFF;border:solid 1px #cccccc;z-index:1;';
return str;
}
function DrawMenu(Obj,content)
{
var oldHtml=document.getElementById('MenuName').innerHTML;
if (oldHtml==Obj)
{
ClearHtml();
}
else
{
var top = GetObjTop(Obj) + 32;
var left = GetObjLeft(Obj) + 1;
var str = '';
str += '<div style="'+GetMenuStyle(top, left)+'">';
str += content;
str += '</div>';
document.getElementById('MenuName').innerHTML = Obj;
document.getElementById('MenuData').innerHTML = str;
}
}
function ShowFontSize()
{
var str='';
for(var i=1;i<6;i++)
str+='<a onclick="javascript:ubbsize('+i+')"><font size='+i+'>'+i+'</font></a><br>';
str="<p style='line-height:150%;margin:5px;cursor:pointer;;'>"+str+"</p>";
DrawMenu("Ubb_fontsize",str);
}
function ShowFontColor()
{
var str='';
var str = '';
str += '<table cellpadding="0" cellspacing="2" border="0">';
for (i = 0; i < FontColor.length; i++) {
if (i == 0 || (i >= 10 && i%10 == 0)) {
str += '<tr>';
}
str += '<td style="width:12px;height:12px;border:1px solid #AAAAAA;font-size:10px;cursor:pointer;background-color:' +
FontColor[i] + ';" onmouseover="javascript:this.style.borderColor=\'#000000\';" '+
'onmouseout="javascript:this.style.borderColor=\'#AAAAAA\';" ' +
'onclick="javascript:COLOR(\''+FontColor[i]+'\');"> </td>';
if (i >= 9 && i%(i-1) == 0) {
str += '</tr>';
}
}
str += '</table>';
DrawMenu("Ubb_fontcolor",str);
}
function Show6kbbs()
{
var str='';
str+="<p style='line-height:150%;margin:5px;cursor:pointer;;'><a onclick='javascript:grade()'>等級可見</a><br><a onclick='javascript:reply()'>回復可見</a><br><a onclick='javascript:name()'>指定讀者</a><br><a onclick='javascript:smark()'>積分可見</a><br><a onclick='javascript:showdate()'>日期可見</a><br><a onclick='javascript:mustlogin()'>登陸可見</a></p>";
DrawMenu("Ubb_6kbbs",str);
}
function ShowFace()
{
var str='';
for(var i=1;i<=15;i=i+1)
str+='<A href=javascript:AddUbbCode(\'\',\'[em'+i+']\')><img border=0 src=images/emote/em'+i+'.gif></A> ';
DrawMenu("Ubb_face",str);
}
function UbbEditor(ObjName,Cols,Rows,DefaultValue,ImagePath)
{
var iconStr;
editObj=ObjName;
this.cols=Cols;
this.imagepath=
this.rows=Rows;
this.defaultValue=DefaultValue;
this.imagePath=ImagePath;
this.showeditor=function ()
{
iconStr="";
for (var i = 0; i < ToolBar.length; i++) {
iconStr += '<img id="'+ ToolBar[i][0] +'" src="' + this.imagePath + ToolBar[i][1] + '" alt="' + ToolBar[i][2] + '" align="absmiddle" onclick=RunMethod("'+ToolBar[i][0]+'") style="cursor:pointer;"> ';
}
iconStr='<div id="ubbeditordiv" style="display:none;">'+iconStr+'</div>';
document.write(iconStr);
//var editorstr="<textarea rows="+this.rows+" name="+editObj+" id="+editObj+" cols="+this.cols+">"+this.defaultValue+"</textarea>";
document.write('<span id="MenuName" style="display:none;"></span><span id="MenuData"></span>');
}
}
function RunMethod(str)
{
switch(str)
{
case'Ubb_fly':
fly();
break;
case'Ubb_move':
move();
break;
case'Ubb_glow':
light();
break;
case'Ubb_shadow':
ying();
break;
case'Ubb_bold':
Cbold();
break;
case'Ubb_italicize':
Citalic();
break;
case'Ubb_underline':
Cunder();
break;
case'Ubb_sup':
AddUbbCode('[sup]','[/sup]');
break;
case'Ubb_sub':
AddUbbCode('[sub]','[/sub]');
break;
case'Ubb_code':
AddUbbCode('[code]','[/code]');
break;
case'Ubb_fontsize':
ShowFontSize();
break;
case'Ubb_fontcolor':
ShowFontColor();
break;
case'Ubb_6kbbs':
Show6kbbs();
break;
case'Ubb_face':
ShowFace();
break;
case'Ubb_center':
center();
break;
case'Ubb_image':
image();
break;
case'Ubb_Shockwave':
Cdir();
break;
case'Ubb_rm':
Crm();
break;
case'Ubb_mp':
Cwmv();
break;
case'Ubb_url':
Curl();
break;
case'Ubb_email':
Cemail();
break;
case'Ubb_csound':
Csound();
break;
case'Ubb_ra':
Cra();
break;
default:
break;
}
}
function WordAdd(){
if ((document.selection)&&(document.selection.type == "Text")) {
var range = document.selection.createRange();
var ch_text=range.text;
range.text = fontbegin + ch_text + fontend;
}
else {
document.getElementById(editObj).value=fontbegin+document.getElementById(editObj).value+fontend;
document.getElementById(editObj).focus();
}
}
function AddText(text) {
if (document.getElementById(editObj).createTextRange && document.getElementById(editObj).caretPos) {
var caretPos = document.getElementById(editObj).caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?
text + ' ' : text;
}
else document.getElementById(editObj).value += text;
document.getElementById(editObj).focus(caretPos);
}
helpstat = false;
stprompt = true;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -