📄 ibfcode.js
字号:
//--------------------------------------------// Set up our simple tag open values//--------------------------------------------//// Modified by Volker Puttrich to allow IE 4+// on windows to use cursor position for inserting// tags / smiliesvar B_open = 0;var I_open = 0;var U_open = 0;var QUOTE_open = 0;var CODE_open = 0;var SQL_open = 0;var HTML_open = 0;var bbtags = new Array();// Determine browser type and stuff.// Borrowed from http://www.mozilla.org/docs/web-developer/sniffer/browser_type.htmlvar myAgent = navigator.userAgent.toLowerCase();var myVersion = parseInt(navigator.appVersion);var is_ie = ((myAgent.indexOf("msie") != -1) && (myAgent.indexOf("opera") == -1));var is_nav = ((myAgent.indexOf('mozilla')!=-1) && (myAgent.indexOf('spoofer')==-1) && (myAgent.indexOf('compatible') == -1) && (myAgent.indexOf('opera')==-1) && (myAgent.indexOf('webtv') ==-1) && (myAgent.indexOf('hotjava')==-1));var is_win = ((myAgent.indexOf("win")!=-1) || (myAgent.indexOf("16bit")!=-1));var is_mac = (myAgent.indexOf("mac")!=-1);// Set the initial radio button status based on cookiesvar allcookies = document.cookie;var pos = allcookies.indexOf("bbmode=");prep_mode();function prep_mode(){ if (pos != 1) { var cstart = pos + 7; var cend = allcookies.indexOf(";", cstart); if (cend == -1) { cend = allcookies.length; } cvalue = allcookies.substring(cstart, cend); if (cvalue == 'ezmode') { document.REPLIER.bbmode[0].checked = true; } else { document.REPLIER.bbmode[1].checked = true; } } else { // default to normal mode. document.REPLIER.bbmode[1].checked = true; }}function setmode(mVal){ document.cookie = "bbmode="+mVal+"; path=/; expires=Wed, 1 Jan 2020 00:00:00 GMT;";}function get_easy_mode_state(){ // Returns true if we've chosen easy mode if (document.REPLIER.bbmode[0].checked) { return true; } else { return false; }}//-----------------------------------------------------------------------------// 使用Ctrl+Enter直接提交贴子 - 详细信息请查看 - http://www.ibfchina.com - 开始//-----------------------------------------------------------------------------function ctlent(){ if (event.keyCode==13 && event.ctrlKey) document.forms("REPLIER").submit.click();}//-----------------------------------------------------------------------------// 使用Ctrl+Enter直接提交贴子 - 详细信息请查看 - http://www.ibfchina.com - 结束//-----------------------------------------------------------------------------//-----------------------------------------------------------------------// 主题标题叙述前缀选项 - 详细信息请查看 - http://www.ibfchina.com - 开始//-----------------------------------------------------------------------function DoTitle_TopicTitle(addTopicTitle) { var revisedTopicTitle; var currentTopicTitle = document.forms("REPLIER").TopicTitle.value; revisedTopicTitle = currentTopicTitle+addTopicTitle; document.forms("REPLIER").TopicTitle.value=revisedTopicTitle; document.forms("REPLIER").TopicTitle.focus(); return; }function DoTitle_TopicDesc(addTopicDesc) { var revisedTopicDesc; var currentTopicDesc = document.forms("REPLIER").TopicDesc.value; revisedTopicDesc = currentTopicDesc+addTopicDesc; document.forms("REPLIER").TopicDesc.value=revisedTopicDesc; document.forms("REPLIER").TopicDesc.focus(); return; }//-----------------------------------------------------------------------// 主题标题叙述前缀选项 - 详细信息请查看 - http://www.ibfchina.com - 结束//-----------------------------------------------------------------------//--------------------------------------------// Set the help bar status//--------------------------------------------function hstat(msg){ document.REPLIER.helpbox.value = eval( "help_" + msg );}// Set the number of tags open boxfunction cstat(){ var c = stacksize(bbtags); if ( (c < 1) || (c == null) ) { c = 0; } if ( ! bbtags[0] ) { c = 0; } document.REPLIER.tagcount.value = c;}//--------------------------------------------// Get stack size//--------------------------------------------function stacksize(thearray){ for (i = 0 ; i < thearray.length; i++ ) { if ( (thearray[i] == "") || (thearray[i] == null) || (thearray == 'undefined') ) { return i; } } return thearray.length;}//--------------------------------------------// Push stack//--------------------------------------------function pushstack(thearray, newval){ arraysize = stacksize(thearray); thearray[arraysize] = newval;}//--------------------------------------------// Pop stack//--------------------------------------------function popstack(thearray){ arraysize = stacksize(thearray); theval = thearray[arraysize - 1]; delete thearray[arraysize - 1]; return theval;}//--------------------------------------------// Close all tags//--------------------------------------------function closeall(){ if (bbtags[0]) { while (bbtags[0]) { tagRemove = popstack(bbtags) document.REPLIER.Post.value += "[/" + tagRemove + "]"; // Change the button status // Ensure we're not looking for FONT, SIZE or COLOR as these // buttons don't exist, they are select lists instead. if ( (tagRemove != 'FONT') && (tagRemove != 'SIZE') && (tagRemove != 'COLOR') ) { eval("document.REPLIER." + tagRemove + ".value = ' " + tagRemove + " '"); eval(tagRemove + "_open = 0"); } } } // Ensure we got them all document.REPLIER.tagcount.value = 0; bbtags = new Array(); document.REPLIER.Post.focus();}//--------------------------------------------// EMOTICONS//--------------------------------------------function emoticon(theSmilie){ doInsert(" " + theSmilie + " ", "", false);}//--------------------------------------------// ADD CODE//--------------------------------------------function add_code(NewCode){ document.REPLIER.Post.value += NewCode; document.REPLIER.Post.focus();}//--------------------------------------------// ALTER FONT//--------------------------------------------function alterfont(theval, thetag){ if (theval == 0) return; if(doInsert("[" + thetag + "=" + theval + "]", "[/" + thetag + "]", true)) pushstack(bbtags, thetag); document.REPLIER.ffont.selectedIndex = 0; document.REPLIER.fsize.selectedIndex = 0; document.REPLIER.fcolor.selectedIndex = 0; }//--------------------------------------------// SIMPLE TAGS (such as B, I U, etc)//--------------------------------------------function simpletag(thetag){ var tagOpen = eval(thetag + "_open"); if ( get_easy_mode_state() ) { inserttext = prompt(prompt_start + "\n[" + thetag + "]xxx[/" + thetag + "]"); if ( (inserttext != null) && (inserttext != "") ) { doInsert("[" + thetag + "]" + inserttext + "[/" + thetag + "] ", "", false); } } else { if (tagOpen == 0) { if(doInsert("[" + thetag + "]", "[/" + thetag + "]", true)){ eval(thetag + "_open = 1"); // Change the button status eval("document.REPLIER." + thetag + ".value += '*'"); pushstack(bbtags, thetag); cstat(); hstat('click_close'); } } else { // Find the last occurance of the opened tag lastindex = 0; for (i = 0 ; i < bbtags.length; i++ ) { if ( bbtags[i] == thetag ) { lastindex = i; } } // Close all tags opened up to that tag was opened while (bbtags[lastindex]) { tagRemove = popstack(bbtags); doInsert("[/" + tagRemove + "]", "", false) // Change the button status eval("document.REPLIER." + tagRemove + ".value = ' " + tagRemove + " '"); eval(tagRemove + "_open = 0"); } cstat(); } }}function tag_list(){ var listvalue = "init"; var thelist = "[LIST]\n"; while ( (listvalue != "") && (listvalue != null) ) { listvalue = prompt(list_prompt, ""); if ( (listvalue != "") && (listvalue != null) ) { thelist = thelist+"[*]"+listvalue+"\n"; } } doInsert(thelist + "[/LIST]\n", "", false);}function tag_url(){ var FoundErrors = ''; var enterURL = prompt(text_enter_url, "http://"); var enterTITLE = prompt(text_enter_url_name, "My Webpage"); if (!enterURL) { FoundErrors += " " + error_no_url; } if (!enterTITLE) { FoundErrors += " " + error_no_title; } if (FoundErrors) { alert("Error!"+FoundErrors); return; } doInsert("[URL="+enterURL+"]"+enterTITLE+"[/URL]", "", false);}function tag_image(){ var FoundErrors = ''; var enterURL = prompt(text_enter_image, "http://"); if (!enterURL) { FoundErrors += " " + error_no_url; } if (FoundErrors) { alert("Error!"+FoundErrors); return; } doInsert("[IMG]"+enterURL+"[/IMG]", "", false);}function tag_email(){ var emailAddress = prompt(text_enter_email, ""); if (!emailAddress) { alert(error_no_email); return; } doInsert("[EMAIL]"+emailAddress+"[/EMAIL]", "", false);}//--------------------------------------------// GENERAL INSERT FUNCTION//--------------------------------------------// ibTag: opening tag// ibClsTag: closing tag, used if we have selected text// isSingle: true if we do not close the tag right now// return value: true if the tag needs to be closed later//function doInsert(ibTag, ibClsTag, isSingle){ var isClose = false; var obj_ta = document.REPLIER.Post; if ( (myVersion >= 4) && is_ie && is_win) // Ensure it works for IE4up / Win only { if(obj_ta.isTextEdit){ // this doesn't work for NS, but it works for IE 4+ and compatible browsers obj_ta.focus(); var sel = document.selection; var rng = sel.createRange(); rng.colapse; if((sel.type == "Text" || sel.type == "None") && rng != null){ if(ibClsTag != "" && rng.text.length > 0) ibTag += rng.text + ibClsTag; else if(isSingle) isClose = true; rng.text = ibTag; } } else{ if(isSingle) isClose = true; obj_ta.value += ibTag; } } else { if(isSingle) isClose = true; obj_ta.value += ibTag; } obj_ta.focus(); // clear multiple blanks// obj_ta.value = obj_ta.value.replace(/ /, " "); return isClose;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -