ubb.js

来自「是个不错的文件代码,希望大家好好用,」· JavaScript 代码 · 共 121 行

JS
121
字号
var objActive="oblog_edittext";
var sAgent=navigator.userAgent.toLowerCase();
var IsIE=sAgent.indexOf("msie")!=-1;
function GetActiveText(objHTML) {
	objActive=objHTML;
	if(document.selection){
		var obj=document.getElementById(objHTML);
		obj.currPos = document.selection.createRange().duplicate()
	}
}

function InsertText(objHTML,strText,bolReplace) {
	if(strText==""){return("")}
	var obj=document.getElementById(objHTML);
	if(document.selection){
		if (obj.currPos){
			if(bolReplace && (obj.value=="")){
				obj.currPos.text=strText
			}
			else{
				obj.currPos.text+=strText
			}
		}
		else{
			obj.value+=strText
		}
	}
	else{
		if(bolReplace){
			obj.value=obj.value.slice(0,obj.selectionStart) + strText + obj.value.slice(obj.selectionEnd,obj.value.length)
		}
		else{
			obj.value=obj.value.slice(0,obj.selectionStart) + strText + obj.value.slice(obj.selectionStart,obj.value.length)
		}
	}
	//obj.focus();
}

function ReplaceText(objHTML,strPrevious,strNext) {
	var obj=document.getElementById(objHTML);
	var strText;
	if(document.selection && document.selection.type == "Text"){
		if (obj.currPos || IsIE){
			var range = document.selection.createRange();
			range.text = strPrevious + range.text + strNext;
			return("");
		}
		else{
			strText=strPrevious + strNext;
			return(strText);
		}
	}
	else{
		if(obj.selectionStart || obj.selectionEnd){
			strText=strPrevious + obj.value.slice(obj.selectionStart,obj.selectionEnd) + strNext;
			return(strText);
		}
		else{
			strText=strPrevious + strNext;
			return(strText);
		}
	}
	
}

function UBB_smiley(){
  var smileyPos=new getPos('A_smiley');
  smileyPanel=document.getElementById('oblog_ubbemot');
  smileyPanel.style.left=smileyPos.Left+"px";
  smileyPanel.style.top=smileyPos.Top+"px";
  smileyPanel.style.visibility ="visible"; 
  smileyPanel.innerHTML=getemot();
  if (IsIE){
  	document.body.attachEvent("onclick",CloseSmileyPanel);
  }
  else{
  	document.body.addEventListener("click",CloseSmileyPanel,true);
  }
}

function CloseSmileyPanel(){
  smileyPanel=document.getElementById('oblog_ubbemot');
  smileyPanel.style.visibility ="hidden";
  if (IsIE){
  	document.body.detachEvent("onclick",CloseSmileyPanel);
  }else{
  document.body.removeEventListener("click",CloseSmileyPanel,true);
  }
}

function onClickEmot(str){
	var n=str.lastIndexOf("face");
	str=str.substring(n);
	str=str.replace("face","");
	str=str.replace(".gif","");
	InsertText(objActive,ReplaceText(objActive,'[emot]'+str,'[/emot]'),true);
    CloseSmileyPanel();
}

function getPos(obj){
  this.Left=0;
  this.Top=0;
  var tempObj=document.getElementById(obj);
  while (tempObj.tagName.toLowerCase()!="body"){
  	 this.Left+=tempObj.offsetLeft;
  	 this.Top+=tempObj.offsetTop;
  	 tempObj=tempObj.offsetParent;
  }
}

function getemot(){
	var s="<TABLE cellSpacing=5 border=0 align=center><TBODY><TR>";
	for (i=1;i<=50;i++){
		s=s+"<TD><IMG src='"+ubbimg+"editor\/images\/emot\/face"+i+".gif' onClick='onClickEmot(this.src)'></TD>";	
		if (i/10==parseInt(i/10) && i!=50){
			s=s+"</tr><tr>";
		}
	}
	s=s+"</tr></tbody></table>";
	return s;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?