⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common.js

📁 动网论坛系列产品倍受用户赞誉的就是强大的功能和出色的用户体验表现
💻 JS
📖 第 1 页 / 共 2 页
字号:
/*
	----------- 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 + -