修改发贴的编辑功能

时间:2021-05-25

以下代码可以做到在光标处插入代码,如果有选择区域,则会使用选择区域生效。

1、vbcode.js文件中
替换函数vbcode为下面内容
复制代码 代码如下:
functionvbcode(theform,vbcode,prompttext){
 if(theform.message.createTextRange&&theform.message.caretPos){
  varcaretPos=theform.message.caretPos;
  if(caretPos.text.length>0)
   caretPos.text="["+vbcode+"]"+caretPos.text+"[/"+vbcode+"]";
  else
   caretPos.text="["+vbcode+"]"+"[/"+vbcode+"]";
 }
 theform.message.focus();
}

替换函数fontformat为下面内容
复制代码 代码如下:
functionfontformat(theform,thevalue,thetype){
 if(theform.message.createTextRange&&theform.message.caretPos){
  varcaretPos=theform.message.caretPos;
  if(caretPos.text.length>0)
   caretPos.text="["+thetype+"="+thevalue+"]"+caretPos.text+"[/"+thetype+"]";
  else
   caretPos.text="["+thetype+"="+thevalue+"]"+"[/"+thetype+"]";
 }
 theform.sizeselect.selectedIndex=0;
 theform.fontselect.selectedIndex=0;
 theform.colorselect.selectedIndex=0;
 theform.message.focus();
}

替换函数smilie为下面内容
复制代码 代码如下:
functionsmilie(thesmilie){
//insertssmilietext
 if(document.vbform.message.createTextRange&&document.vbform.message.caretPos){
  varcaretPos=document.vbform.message.caretPos;
  caretPos.text=thesmilie;
 }
 document.vbform.message.focus();
}

加入下面代码
复制代码 代码如下:
functionstoreCaret(textEl){
 if(textEl.createTextRange)
  textEl.caretPos=document.selection.createRange().duplicate();
}

2、color.js文件
查找函数insertTag替换成下面内容
复制代码 代码如下:
functioninsertTag(MyString)
{
 bbopen=''
 bbclose='';

 if(MM_findObj('message').createTextRange&&MM_findObj('message').caretPos){
  vartext=bbopen+bbclose;
  varcaretPos=MM_findObj('message').caretPos;
  if(caretPos.text.length>0)
   caretPos.text=bbopen+caretPos.text+bbclose;
  else
   caretPos.text=text;
 }else{
  MM_findObj('message').value+=bbopen+bbclose;
 }
 MM_findObj('message').focus();
 return;
}

3、修改editpost、newthread和newreply模板
查找
$postinfo[message]
替换成
$postinfo[message]

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章