Welcome 微信登录

首页 / 脚本样式 / JavaScript / 修改发贴的编辑功能

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

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

替换函数 fontformat 为下面内容 
复制代码 代码如下:
function fontformat(theform,thevalue,thetype) {  
if (theform.message.createTextRange && theform.message.caretPos) {  
var caretPos = 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 为下面内容 
复制代码 代码如下:
function smilie(thesmilie) {  
// inserts smilie text  
if (document.vbform.message.createTextRange && document.vbform.message.caretPos) {  
var caretPos = document.vbform.message.caretPos;  
caretPos.text = thesmilie;  
}  
document.vbform.message.focus();  
}  

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

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

if (MM_findObj("message").createTextRange && MM_findObj("message").caretPos) {  
var text = bbopen + bbclose ;  
var caretPos = 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]