|
头衔 Conqueror
星级  
- UID
- 482
- 帖子
- 113
- 积分
- 240
- 威望
- 0
- 金币
- 100 个
- 注册时间
- 2002-5-1
- 最后登录
- 2006-8-30
|
5#
大 中
小 发表于 2002-6-15 11:04 只看该作者
下载附件里的vbcode.rar,解压缩后覆盖vBB目录里的vbcode.js
下面是压缩包里的vbcode.js全部代码.. 引用://********************************************************
tags = new Array();
theform = document.vbform;
// *******************************************************
// replacements for unsupported array functions (because arrayname.push(var)
// and arrayname.pop() are not implemented in IE until version 5.5)
function thearrayisgood(thearray,i) {
if ((thearray == "undefined") || (thearray == "") || (thearray == null))
return false;
else
return true;
}
function getarraysize(thearray) {
// replacement for arrayname.length property
for (i = 0; i < thearray.length; i++) {
if ((thearray == "undefined") || (thearray == "") || (thearray == null))
return i;
}
return thearray.length;
}
function arraypush(thearray,value) {
// replacement for arrayname.push(value)
thearraysize = getarraysize(thearray);
thearray[thearraysize] = value;
return thearray[thearraysize];
}
function arraypop(thearray) {
// replacement for arrayname.pop()
thearraysize = getarraysize(thearray);
retval = thearray[thearraysize - 1];
delete thearray[thearraysize - 1];
return retval;
}
// *******************************************************
function setmode(modevalue) {
// sets cookie for normal (0) and enhanced (1) modes
document.cookie = "vbcodemode="+modevalue+"; path=/; expires=Wed, 1 Jan 2020 00:00:00 GMT;";
}
function normalmode(theform) {
// checks value of mode radio buttons. returns true if normal mode
if (theform.mode[0].checked) return true;
else return false;
}
function stat(thevalue) {
// places mini-help text into help/error textbox
// strings are stored in vbcode_language.js
document.vbform.status.value = eval(thevalue+"_text");
}
// *******************************************************
// These are the added functions which enable text input at the cursor
// instead of at the end of the text. Note that onChange=getActiveText(this)
// onclick=getActiveText(this) must be added to the textarea tag for "message" in the
// newreply and newthread templates in order for everything to work correctly.
var text = "";
AddTxt = "";
function getActiveText(selectedtext) {
// adds text to the "message" textarea at the cursor position when a click or change has been
// made in the textarea.
text = (document.all) ? document.selection.createRange().text : document.getSelection();
if (selectedtext.createTextRange) {
selectedtext.caretPos = document.selection.createRange().duplicate();
}
return true;
}
function AddText(NewCode,theform) {
// This does the actual insertion.
if (theform.message.createTextRange && theform.message.caretPos) {
var caretPos = theform.message.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? NewCode + ' ' : NewCode;
} else {
theform.message.value+=NewCode;
}
setfocus(theform);
AddTxt = "";
}
function setfocus(theform) {
theform.message.focus();
}
function vbcode(theform,vbcode,prompttext) {
// insert [x]yyy[/x] style markup
if ((normalmode(theform)) || (vbcode=="IMG")) {
if (text) { var dtext=text; } else { var dtext=prompttext; }
inserttext = prompt(tag_prompt+"\n["+vbcode+"]xxx[/"+vbcode+"]",dtext);
if ((inserttext != null) && (inserttext != ""))
AddTxt = "["+vbcode+"]"+inserttext+"[/"+vbcode+"] ";
AddText(AddTxt,theform);
}
else {
donotinsert = false;
for (i = 0; i < tags.length; i++) {
if (tags == vbcode)
donotinsert = true;
}
if (donotinsert)
stat("already_open");
else {
arraypush(tags,vbcode);
AddTxt = "["+vbcode+"]";
AddText(AddTxt,theform);
}
}
theform.message.focus();
}
// *******************************************************
function closetag(theform) {
// closes last opened tag
if (normalmode(theform))
stat('enhanced_only');
else
if (tags[0]) {
Tag = arraypop(tags)
AddTxt = "[/"+ Tag +"]";
AddText(AddTxt,theform);
}
else {
stat('no_tags');
}
theform.message.focus();
}
function closeall(theform) {
// closes all open tags
if (normalmode(theform))
stat('enhanced_only');
else {
i = getarraysize(tags)-1;
if (thearrayisgood(tags,i)) {
Addtxt = "";
for (h = 0; h <= i; h++) {
newtag = arraypop(tags);
Addtxt += "[/"+ newtag +"]";
}
AddText(Addtxt,theform);
}
else {
stat('no_tags');
}
}
theform.message.focus();
}
// *******************************************************
function fontformat(theform,thevalue,thetype) {
if (normalmode(theform)) {
if (thevalue != 0) {
if (text) { var dtext=text; } else { var dtext=""; }
inserttext = prompt(font_formatter_prompt+" "+thetype,dtext);
if ((inserttext != null) && (inserttext != ""))
AddTxt = "["+thetype+"="+thevalue+"]"+inserttext+"[/"+thetype+"] ";
AddText(AddTxt,theform);
}
}
else {
arraypush(tags,thetype);
Addtxt = "["+thetype+"="+thevalue+"]";
AddText(Addtxt,theform);
}
theform.sizeselect.selectedIndex = 0;
theform.fontselect.selectedIndex = 0;
theform.colorselect.selectedIndex = 0;
theform.message.focus();
}
// *******************************************************
function namedlink(theform,thetype) {
// inserts named url or email link - [url=mylink]text[/url]
if (text) { var dtext=text; } else { var dtext=""; }
linktext = prompt(link_text_prompt,dtext);
var prompttext;
if (thetype == "URL") {
prompt_text = link_url_prompt;
prompt_contents = "http://";
}
else {
prompt_text = link_email_prompt;
prompt_contents = "";
}
linkurl = prompt(prompt_text,prompt_contents);
if ((linkurl != null) && (linkurl != "")) {
if ((linktext != null) && (linktext != "")) {
AddTxt = "["+thetype+"="+linkurl+"]"+linktext+"[/"+thetype+"] ";
AddText(AddTxt,theform);
}
else{
AddTxt = "["+thetype+"]"+linkurl+"[/"+thetype+"] ";
AddText(AddTxt,theform);
}
}
}
// *******************************************************
function dolist(theform) {
// insert two-parameter markup - [x=y]zzz[/x]
listtype = prompt(list_type_prompt, "");
if ((listtype == "a") || (listtype == "1")) {
thelist = "[list="+listtype+"]\n";
listend = "[/list="+listtype+"] ";
}
else {
thelist = " ";
}
listentry = "initial";
while ((listentry != "") && (listentry != null)) {
listentry = prompt(list_item_prompt, "");
if ((listentry != "") && (listentry != null))
thelist = thelist+""+listentry+"\n";
}
AddTxt = thelist+listend;
AddText(AddTxt,theform);
}
// *******************************************************
function smilie(thesmilie) {
// inserts smilie code
AddSmilie = " "+thesmilie+" ";
AddText(AddSmilie,theform);
}
function opensmiliewindow(x,y,sessionhash) {
// um... opens smilie overflow window.
window.open("misc.php?action=getsmilies&s="+sessionhash, "smilies", "toolbar=no,scrollbars=yes,resizable=yes,width="+x+",height="+y);
}
// ******************************************************* 希望这几帖对Crossday有所帮助!!!
[ 本贴由 一只鸟 于 2002-6-15 11:05 最后编辑 ]
我是谁..
似天..变幻莫测......
似水..深不可测......
我是谁..
|