📄 codeins.htm
字号:
<script language="JavaScript">
//--------------------------------------------
// Set up our simple tag open values
//--------------------------------------------
var 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 text_enter_image = '{lang text_enter_image}';
var text_enter_email = '{lang text_enter_email}';
var text_enter_url = '{lang text_enter_url}';
var text_enter_url_name = '{lang text_enter_url_name}';
var prompt_start = '{lang text_prompt_start}';
var list_prompt = '{lang text_list_prompt}';
var bbtags = new Array();
var 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 cookies
var 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;
}
}
//--------------------------------------------
// Set the help bar status
//--------------------------------------------
function hstat(msg)
{
document.REPLIER.helpbox.value = eval( "help_" + msg );
}
// Set the number of tags open box
function 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();
}
//--------------------------------------------
// 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;
}
</script>
<!--<SCRIPT src="./html/code.js" type=text/javascript></SCRIPT>-->
<INPUT type="hidden" value="0" name="st">
<INPUT type="hidden" value="Post" name="act">
<INPUT type="hidden" name="s">
<INPUT type="hidden" value="1" name="f">
<INPUT type="hidden" value="01" name="CODE">
<TR class="line_1">
<TD width="30%" valign='top'>
<INPUT onclick="setmode(this.value)" type=radio value=ezmode name=bbmode>
<B>{lang text_mode_ezmode}</B>
<BR>
<INPUT onclick=setmode(this.value) type=radio CHECKED value=normal name=bbmode>
<B>{lang text_mode_normal}</B>
</TD>
<TD>
<INPUT accessKey=b onclick='simpletag("B")' type=button value=" B " name=B>
<INPUT accessKey=i onclick='simpletag("I")' type=button value=" I " name=I>
<INPUT accessKey=u onclick='simpletag("U")' type=button value=" U " name=U>
<SELECT onchange="alterfont(this.options[this.selectedIndex].value, 'FONT')" name=ffont>
<OPTION value=0 selected>{lang text_font}</OPTION>
<OPTION value="Arial">Arial</OPTION>
<OPTION style="FONT-FAMILY: Times" value=Times>Times</OPTION>
<OPTION style="FONT-FAMILY: Courier" value=Courier>Courier</OPTION>
<OPTION style="FONT-FAMILY: Impact" value=Impact>Impact</OPTION>
<OPTION style="FONT-FAMILY: Geneva" value=Geneva>Geneva</OPTION>
<OPTION style="FONT-FAMILY: Optima" value=Optima>Optima</OPTION>
</SELECT>
<SELECT onchange="alterfont(this.options[this.selectedIndex].value, 'SIZE')" name=fsize>
<OPTION value=0 selected>{lang text_size}</OPTION>
<OPTION value=1>{lang text_color_small}</OPTION>
<OPTION value=7>{lang text_size_large}</OPTION>
<OPTION value=14>{lang text_size_huge}</OPTION>
</SELECT>
<SELECT onchange="alterfont(this.options[this.selectedIndex].value, 'COLOR')" name=fcolor>
<OPTION value=0 selected>{lang text_color}</OPTION>
<OPTION style="COLOR: blue" value=blue>{lang text_color_blue}</OPTION>
<OPTION style="COLOR: red" value=red>{lang text_color_red}</OPTION>
<OPTION style="COLOR: purple" value=purple>{lang text_color_purple}</OPTION>
<OPTION style="COLOR: orange" value=orange>{lang text_color_orange}</OPTION>
<OPTION style="COLOR: yellow" value=yellow>{lang text_color_yellow}</OPTION>
<OPTION style="COLOR: gray" value=gray>{lang text_color_gray}</OPTION>
<OPTION style="COLOR: green" value=green>{lang text_color_green}</OPTION>
</SELECT>
<BR>
<INPUT accessKey=h onclick="tag_url()" type=button value=" URL " name=url>
<INPUT accessKey=g onclick="tag_image()" type=button value=" IMG " name=img>
<INPUT accessKey=e onclick="tag_email()" type=button value=" @ " name=email>
<INPUT accessKey=q onclick='simpletag("QUOTE")' type=button value=" QUOTE " name=QUOTE>
<INPUT accessKey=p onclick='simpletag("CODE")' type=button value=" CODE " name=CODE>
<INPUT accessKey=l onclick=tag_list() type=button value=" LIST " name=LIST>
<br>
[<A href="javascript:closeall();">{lang text_tag_closeall}</A>] [{lang text_tag_open}:
<INPUT style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; FONT-WEIGHT: bold; FONT-SIZE: 12px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" readOnly maxLength=3 size=3 value=0 name=tagcount>]
</TD>
</TR>
<TR class="line_1">
<TD align=middle>
</TD>
<TD vAlign=top>
<TEXTAREA tabIndex=3 name="Post" rows=20 cols="80">$notes</TEXTAREA>
</TD>
</TR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -