📄 common.js
字号:
/*
----------- Common Utility Scripts ------------
author : satellite
date : 2005-9-15
all right reserved 2007 dvbbs.net
-----------------------------------------------
*/
/* ----------- 以下几个仅用于论坛 ------------------------- */
//Board Jump
function boardJump(obj)
{
var selectedValue = obj.options[obj.selectedIndex].value;
if (selectedValue.indexOf(',') != -1 || selectedValue == -1)
{
obj.options[0].selected = true;
return;
}
location.href = 'board.aspx?boardid=' + selectedValue;
}
function setCookie(name,value)
{
var Days = 30; //此 cookie 将被保存 30 天
var exp = new Date(); //new Date("December 31, 9998");
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape(value) +";expires="+ exp.toGMTString();
}
function getCookie(name)
{
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return null;
}
//Collapse Or Expand Tablebody
function collapse(img, objName)
{
var cateid = objName.replace("cate","");
var cateids= getCookie("closedcateids");
if(cateids == null)
cateids = "";
// alert(cateids);
//specially, invoke another function. (topic.aspx)
if (objName == 'loopedreplies')
{
collapseTables(img);
return;
}
var obj = document.getElementById(objName);
/* var min = 0;
var max = obj.rows.length;
if (obj.rows[0].className.toLowerCase() == 'category' || obj.rows[0].cells[0].className.toLowerCase() == 'category')
{
min++;
}
if (obj.rows[max-1].id == 'pagerrow')
{
max--;
}
*/
if (img.src.indexOf('open') != -1)
{
/*if (document.all && max != obj.rows.length)
{
obj.border = 0;
}
img.src = img.src.replace('open', 'close');
for (var i=min; i<max; i++)
{
if (obj.rows[i].getAttribute('alwaysdisplay') == 1) continue;
obj.rows[i].style.display = 'none';
}*/
obj.style.display = 'none';
img.src = img.src.replace('open', 'close');
//write cate id to cookie
setCookie("closedcateids",cateids.replace("[" + cateid + "]", "") + "[" + cateid + "]");
}
else
{/*
if (document.all && max != obj.rows.length)
{
obj.border = 1;
}
img.src = img.src.replace('close', 'open');
for (var i=min; i<max; i++)
{
if (obj.rows[i].getAttribute('alwaysdisplay') == 1) continue;
obj.rows[i].style.display = '';
}*/
obj.style.display = '';
img.src = img.src.replace('close', 'open');
setCookie("closedcateids",cateids.replace("[" + cateid + "]", ""));
}
}
/* ----------- 三个实用函数 --------------------- */
//Submit Once
function submitonce(f)
{
if (document.all || document.getElementById)
{
for (i=0; i<f.elements.length; i++)
{
var ctl = f.elements[i];
var ctlType = ctl.type.toLowerCase();
if (ctlType == 'submit' || ctlType == 'button' || ctlType == 'reset')
{
ctl.disabled = true;
}
}
}
}
//Ctrl + Enter
function ctlent_backup1()
{
if (window.event)
{
if(event.ctrlKey && window.event.keyCode == 13)
{
var f = document.forms['editor_form'];
if (!f) f = document.forms['__aspnetForm'];
if (!f) f = document.forms['aspnetForm'];
f.send.click();
return false;
}
}
}
//Check All
function chkAll()
{
var f; //define & find the form object
var isFound = false;
for (var i=0; i<document.forms.length; i++)
{
f = document.forms[i];
if (f.checkall) //key item : named 'checkall'
{
isFound = true;
break;
}
}
if (!isFound) return;
var isAllChecked = f.checkall.checked;
for (var i=0; i<f.elements.length; i++)
{
if (f.elements[i].type.toLowerCase() == 'checkbox')
{
f.elements[i].checked = isAllChecked;
}
}
}
/* ---- !!!!!!!!!!!!!!!!!!注意!!!!!!!!!!!!!!!!! --------- */
/* ---- 以下函数将被Dvbbs.Web.dll产生的代码所引用 --------- */
var originUrl
//Pager
function setPage(s, i)
{
return s.replace('{p}', i.toString());
}
function pager(url, page, maxPage, total, per, countsIsVisible)
{
originUrl = url;
var first = "<font style='font-size:12px'>首页</font>";
var previous = "<font style='font-size:12px'>上一页</font>";
var next = "<font style='font-size:12px'>下一页</font>";
var last = "<font style='font-size:12px'>尾页</font>";
var s = "<div class='pager-block' style='width:100%;text-align:right'><div class='pager-links' style='float:left; text-align:left; font-family:courier new,sans-serif'>";
if (page == 1)
{
s += (first + " " + previous + " <b>");
}
else
{
if (first != "") s += ("<a href='" + setPage(url, 1) + "'>" + first + "</a> ");
s += ("<a href='" + setPage(url, (page-1)) + "'>" + previous + "</a> <b>");
}
var j = (page-5 < 1) ? 1 : page-5;
var k = (page+5 > maxPage) ? maxPage : page+5;
if (j > 1) s += " <a href='" + setPage(url, 1) + "'>1</a> ... ";
for (var i=j; i<k+1; i++)
{
if (page == i)
{
s += ("<span class='t2'>" + i + "</span> ");
continue;
}
s += ("<a href='" + setPage(url, i) + "'>" + i + "</a> ");
}
if (maxPage > k) s += " ... <a href='" + setPage(url, maxPage) + "'>" + maxPage + "</a> ";
if (page == maxPage)
{
s += ("</b>" + next + " " + last);
}
else
{
s += ("</b><a href='" + setPage(url, page+1) + "'>" + next + "</a> ");
if (last != "") s += ("<a href='" + setPage(url, maxPage) + "'>" + last + "</a>");
}
s += " 转到 <input type='text' name='gotopage' value='" + page + "' size='3' onkeydown='onpagekeydown();'/> <input type='button' value='Go' style='height:19px;' onclick='ongoto()' />";
s += ("</div>");
if (countsIsVisible)
{
s += ("<div class='pager-stat' style='float:lift;'>");
s += ("总记录:<span class='t2'>" + total + "</span> ");
s += ("每页:<span class='t2'>" + per + "</span> ");
s += ("总页数:<span class='t2'>" + maxPage + "</span></div>");
}
s += "</div>";
return s;
}
function onpagekeydown()
{
if (window.event)
{
if(window.event.keyCode == 13)
{
//ongoto();
//直接用ongoto()时,在线列表分页的文本框中输入页数后回车会在新窗口中打开
var page = document.getElementById("gotopage").value;
if (isNaN(page))
{
page = "1";
}
if(originUrl=='undefined'||originUrl==null||originUrl=='')originUrl = document.getElementById("originUrl").value;
if(arguments.length==1&&arguments[0]!='_self'&&arguments[0]!='_target'&&arguments[0]!='_parent'&&arguments[0]!='_top')
{
var w = eval(arguments[0]);
w.location.href = setPage(originUrl, page);
}else
{
location.href = setPage(originUrl, page);
}
event.returnValue = false;
}
}
}
function ongoto()
{
var page = document.getElementById("gotopage").value;
if (isNaN(page))
{
page = "1";
}
if(originUrl=='undefined'||originUrl==null||originUrl=='')originUrl = document.getElementById("originUrl").value;
if(arguments.length==1&&arguments[0]!='_self'&&arguments[0]!='_target'&&arguments[0]!='_parent'&&arguments[0]!='_top')
{
var w = eval(arguments[0]);
w.location.href = setPage(originUrl, page);
}else
{
location.href = setPage(originUrl, page);
}
}
//Byte Counter
function len(str)
{
var bytes = 0;
for(i=0; i<str.length; i++)
{
ascii = str.charCodeAt(i);
bytes += (ascii < 255 ? 1 : 2);
}
return bytes;
}
//Trim
function trim(str)
{
return str.replace(/(^[\s ]*)|([\s ]*$)/g, '');
}
String.prototype.trim = function()
{
return this.replace(/(^[\s ]*)|([\s ]*$)/g, '');
}
//Format
String.prototype.format = function()
{
var s = this.replace(/\r/g, '');
s = s.replace(/[\v\t ]*\n[\v\t ]*/g, '\n');
s = s.replace(/(\n+)/g, '$1 ');
s = s.replace(/[\n]{2,}/g, '\n\n');
s = s.replace(/\n/g, '\r\n');
s = ' ' + s;
s = s.replace(/( !)/g, '');
s = s.replace(/ (\[uploadimage)/gi, '$1');
return s;
}
//Filter
String.prototype.shitEncode = function()
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -