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

📄 function.js

📁 欢迎使用读吧.net书网程序。更多详情请参阅www.read8.net。 此站是基于PHP+ mysql构架
💻 JS
字号:
window.onerror = function Nopop(){
	return true;
};
var site_name="read8_sitename";//网站名字
var site_url="read8_siteurl";//网站地址
var copy_right="Copyright (C) 2002-2005 "+site_name+"  All Rights Reserved<br> 本作品系网友上传,仅代表作者本人的观点,与本站立场无关。<br>如有章节错误、排版不齐或版权疑问、作品内容有违相关法律等情况,请联系管理员。";//版权声明

var book_id;//文章ID
var book_title;//文章标题
var author_name;//作者名称
var volumn_set;//分卷设置,1为分卷,0为不分卷
var chapter_array;//章节标题数组
var volumn_array;//卷册标题数组
var volumn_index;//与卷标题对应的起始章节ID
var bookc_id;//vip章节ID
var var_array;//页面变量数组
var page_name;//页面文件名
var curr_cid;//当前章节
var prev_cid;//上一章节
var next_cid;//下一章节
var menu_title;//导航标题
var font_size;//字体大小调节
var font_lang;//字体繁体转换
var jump_link;//跳转链接
var window_title;//窗口标题
var book_author;//文章作者
var volumn_title="";//卷册标题
var chapter_num;//章节总数
var chapter_title;//章节标题
var chapter_content;//章节正文
var stat_show;//点击投票统计显示
var review_vote;//评论投票链接
var chapter_list;//章节列表
var chapter_list_cols=3;//章节列表列数
var click_num=0;//点击数
var vote_num=0;//投票数
var currentpos;//页面位置
var timer;//滚动定时器

function initPage()//页面初始化
{
	try
	{
		page_name=location.href.replace(/.+\//g,"");
		curr_cid=getCurrChapterId();
		review_vote=getReviewVote();
		loadStat(site_url+"/bookstat.php?bid="+book_id);//stat.php只需输出click_num=??;vote_num=??;+"&cid="+curr_cid
		if(page_name=="list.htm")
		{
			window_title=getWindowTitle();
			menu_title=getMenuTitle();
			book_author=getBookAuthor();
			chapter_list=getChapterList();
			font_lang=getFontLang();
			var_array=new Array("font_lang","menu_title","book_title","book_author","chapter_list","review_vote","copy_right");
			parseHTML(var_array);
		}
		else
		{
			if((!curr_cid||isNaN(curr_cid)))//如果当前页cid参数不是数字,则跳转到目录list.htm
			{
				location.href="list.htm";
			}
			else
			{
				prev_cid=curr_cid-1;
				next_cid=prev_cid+2;
				loadChapter("content/"+curr_cid+".js");
			}
			window_title=getWindowTitle();
			menu_title=getMenuTitle();
			chapter_num=chapter_array.length;
			font_size=getFontSize();
			font_lang=getFontLang();
			book_author=getBookAuthor();
			var_array=new Array("font_lang","menu_title","font_size","book_author","review_vote","copy_right");
			parseHTML(var_array);
			setFontSize();
		}
		document.attachEvent("onkeydown", jumpPage);
		document.onmousedown = sc; 
		document.ondblclick = initialize;
		document.title=window_title;
		window.status=window_title;
		forbidCopy();
	}
	catch(e)
	{
		var msg="由于网络关系,书籍打开缓慢,请刷新。";
		//alert(msg);
	}
	finally
	{
		releaseHTML(var_array);
	}
}

function forbidCopy()//禁止复制代码
{
	document.oncontextmenu = function() {alert("未经允许,禁止复制!");return false;} 
	document.body.oncopy = function() {alert("未经允许,禁止复制!");return false;} 
	document.body.oncut = function() {alert("未经允许,禁止复制!");return false;} 
	document.body.ondrag = function() {alert("未经允许,禁止复制!");return false;} 
//	document.body.onselectstart = function() {alert("未经允许,禁止复制!");return false;} 
}

function loadJs(script_src)//预加载JS脚本
{
	var o=document.scripts["next_chapter"];
	if(typeof(o)=='object')
	{
		o.src=script_src;
	}
	else
	{
		o=document.createElement("<script id='next_chapter' src='"+script_src+"'><"+"/script>");
		document.body.appendChild(o);
	}
}

function loadChapter(script_src)//加载章节脚本
{
	var o=document.scripts["chapter_js"];
	if(typeof(o)=='object')
	{
		o.src=script_src;
	}
	else
	{
		o=document.createElement("<script id='chapter_js' src='"+script_src+"' onreadystatechange='parseChapter(this)'><"+"/script>");
	document.body.appendChild(o);
	}
}

function parseChapter(script_obj)//解析章节脚本
{
	switch(script_obj.readyState)
	{
		case "complete":
		case "loaded":
		window_title=getWindowTitle();		
		jump_link=getJumpLink();
		if(!chapter_content) gotoVipPage(curr_cid);
		else chapter_title=getChapterTitle();
		if(!chapter_title) location.href="list.htm";
		chapter_content=cbb_trans(chapter_content);
		font_lang=getFontLang();
		var_array=new Array("chapter_title","chapter_content","font_lang","jump_link");
		parseHTML(var_array);
		document.title=getWindowTitle();
		window.status=getWindowTitle();
		loadJs("content/"+next_cid+".js");//预加载下一章
		return;
	}
}

function loadStat(script_src)//加载统计脚本
{
	var o=document.createElement("<script id='stat_js' src='"+script_src+"' onreadystatechange='parseStat(this)'><"+"/script>");
	document.body.appendChild(o);
}

function parseStat(script_obj)//解析统计脚本
{
	switch(script_obj.readyState)
	{
		case "complete":
		case "loaded":
		stat_show=getStatShow();
		var_array=new Array("stat_show");
		parseHTML(var_array);
		return;
	}
}

function getCurrChapterId()//获取当前页面的章节ID:cid
{
	var curr_cid=getCookie("htmlcid");
	return curr_cid;
}

function getWindowTitle()//取得窗口标题
{
	if(!chapter_title) chapter_title="目录列表";
	var window_title=book_title+" - "+chapter_title+" - "+site_name+"倾情制作";
	return window_title;
}

function getMenuTitle()//取得导航标题
{
	var menu_title="<a href='"+site_url+"'>"+site_name+"首页</a>-><a href='"+site_url+"/bookroom.php'>总书库</a>->《<a href='"+site_url+"/bookinfo.php?bid="+book_id+"'>"+book_title+"</a>》";
	return menu_title;
}

function getChapterTitle()//取得文章标题
{
	volumn_title=getVolumnTitle(curr_cid);
	if(volumn_set==1&&volumn_title!="") chapter_title=volumn_title+" - "+chapter_title;
	return chapter_title;
}

function getBookAuthor()//取得文章作者
{
	var book_author="作者:<a href='"+site_url+"/authorinfo.php?target="+author_name+"'' target='_blank'>"+author_name+"</a>";
	return book_author;
}

function getStatShow(){
	var stat_show="点击:"+click_num+"&nbsp;&nbsp;投票:"+vote_num;
	return stat_show;
}

function getReviewVote()//取得评论投票链接
{
	var review_vote="<a href='"+site_url+"/bookreview.php?bid="+book_id+"' target='_blank'>评论</a>&nbsp;&nbsp;<a href='"+site_url+"/bookstat.php?vbid="+book_id+"' target='voteiframe'>投票</a>&nbsp;&nbsp;<a href='"+site_url+"/bookstat.php?mbid="+book_id+"&mcid="+curr_cid+"'>书签</a>";
	return review_vote;
}

function getFontSize()//取得字体大小调节控件
{
	var font_size="字体大小:<select name=fs size=1 onchange=changeFontSize(this.options[this.selectedIndex].value)><option value=12>12</option><option value=14 selected>14</option><option value=16>16</option><option value=18>18</option><option value=20>20</option><option value=22>22</option><option value=24>24</option></select>";
	return font_size;
}

function changeFontSize(font_size) //改变字体大小
{
	var chapter_content=document.getElementsByName("chapter_content")[0];
	chapter_content.style.fontSize=font_size;
	setCookie("font_size",font_size);
}

function setFontSize() //设置字体大小
{
	var chapter_content=document.getElementsByName("chapter_content")[0];
	var font_size_select=document.getElementsByName("fs")[0];
	var font_size=getCookie("font_size");
	var font_size_index=0;
	switch (font_size)
	{
		case "12":font_size_index=0;break;	
		case "14":font_size_index=1;break;	
		case "16":font_size_index=2;break;	
		case "18":font_size_index=3;break;
		case "20":font_size_index=4;break;
		case "22":font_size_index=5;break;
		case "24":font_size_index=6;break;
		default:font_size_index=0;
	}
	if(font_size) 
	{
		chapter_content.style.fontSize=font_size;
		font_size_select.selectedIndex=font_size_index;
	}
}

function getFontLang()//取得繁简转换控件
{
	var font_lang="";
	if(getCookie("font_lang")=="1") 
	{
		font_lang="<a href='javascript:changeFontLang(0)'>繁->简</a>";
	}
	else
	{
		font_lang="<a href='javascript:changeFontLang(1)'>简->繁</a>";
	}
	return font_lang;
}
function changeFontLang(font_lang) //改变字体繁简
{
	setCookie("font_lang",font_lang);
	location.reload();
}

function setCookie(name,value) //设置cookie
{
	var t= new Date();
	t.setTime(t.getTime()+1*3600000);
	document.cookie=name+"="+value+";path=/;expires="+ t.toGMTString();
}

function getCookieVal(offset) //取得offset位置的cookie值  
{
	var endstr = document.cookie.indexOf (";", offset);    
	if (endstr == -1) endstr = document.cookie.length;    
	return unescape(document.cookie.substring(offset, endstr));  
}  

function getCookie(name) //取得名称为name的cookie值  
{
	var arg = name + "=";    
	var alen = arg.length;    
	var clen = document.cookie.length;    
	var i = 0;    
	while (i < clen)
	{      
		var j = i + alen;      
		if (document.cookie.substring(i, j) == arg) return getCookieVal(j);
		i = document.cookie.indexOf(" ", i) + 1;      
		if (i == 0) break;     
	}    
	return null;
}

function getJumpLink()//取得页面跳转链接
{
	var jump_link;
	if(prev_cid<1)
		jump_link="上一页&nbsp;&nbsp;<a href='list.htm'>返回目录</a>&nbsp;&nbsp;<a href='javascript:gotoPage("+next_cid+")'>下一页</a>";
	else if(next_cid>chapter_num)
		jump_link="<a href='javascript:gotoPage("+prev_cid+")'>上一页</a>&nbsp;&nbsp;<a href='list.htm'>返回目录</a>&nbsp;&nbsp;下一页";
	else
		jump_link="<a href='javascript:gotoPage("+prev_cid+")'>上一页</a>&nbsp;&nbsp;<a href='list.htm'>返回目录</a>&nbsp;&nbsp;<a href='javascript:gotoPage("+next_cid+")'>下一页</a>";

	return jump_link;
}

function getChapterList()//取得章节列表
{
	var list="<table width='750' border='2' cellpadding='3' cellspacing='0' bordercolor='#E4E9F1' align='center'>";
	var list_num=chapter_array.length;
	var i=1;
	var j=0;
	var cols=0;
	for(i=1;i<=list_num;i++)
	{
		cols=cols%chapter_list_cols;
		if(volumn_set==1&&isNewVolumn(i))
		{
			if(cols>0)
			{
				for(j=cols;j<chapter_list_cols;j++) list+="<td><span class='max2'>&nbsp;</span></td>";
				list+="</tr>";
			}
			list+="<tr bgcolor='#ccccef'><td colspan="+chapter_list_cols+" align=center><span class='max2'>&nbsp;"+getVolumnTitle(i)+"</span></td></tr>";
			cols=0;
		}
		if(cols==0)
		{
			list+="<tr>";
		}
		list+="<td width=33%><span class='middle'>&nbsp;<a href='javascript:gotoPage("+i+")'>"+chapter_array[i-1]+"</a></span></td>";
		if(cols==chapter_list_cols-1)
		{
			list+="</tr>";
			cols=0;
		}
		else cols++;
	}
	if(cols!=0)
	{
		for(j=cols;j<chapter_list_cols;j++) list+="<td><span class='middle'>&nbsp;</span></td>";
		list+="</tr>";
	}
	list+="</table>";
	return list;
}

function isNewVolumn(id)//根据章节ID判断是否是新开卷
{
	var i=0;
	for(i=0;i<volumn_index.length;i++)
	{
		if(id==volumn_index[i]) return true;
	}
	return false;
}

function getVolumnTitle(id)//根据卷册ID取得卷册标题
{
	var i=0;
	for(i=0;i<volumn_index.length;i++)
	{
		if(id>=volumn_index[i]) volumn_title=volumn_array[i];
		else return volumn_title;
	}
	return volumn_title;
}

function jumpPage()//按健翻页
{
	if (event.keyCode==37&&prev_cid>=1) gotoPage(prev_cid);
	if (event.keyCode==39&&next_cid<=chapter_num) gotoPage(next_cid);
	if (event.keyCode==13) location.href="list.htm";
}

function gotoPage(cid)
{
	setCookie("htmlcid",cid);
	if(page_name=="list.htm") location.href="index.htm";
	curr_cid=cid;
	prev_cid=cid-1;
	next_cid=prev_cid+2;
	location="#";
	jump_link="跳转中&nbsp;&nbsp;<a href='list.htm'>返回目录</a>&nbsp;&nbsp;请稍候";
	var_array=new Array("jump_link");
	parseHTML(var_array);
	loadChapter("content/"+cid+".js");
}

function gotoVipPage(cid)
{
	loadChapter(site_url+"/vip.php?bid="+book_id+"&cid="+cid);//取得VIP章节,地址为动态PHP脚本
	if(!chapter_content) chapter_content="<center>对不起,您尚未购买此章节或者由于网速过慢,内容加载失败。请尝试用左右键换页重新打开本页。<br><br><a href='"+site_url+"/shopinfo.php?cid="+bookc_id+"' target='_blank'><b><font color=blue>我是会员我要买</font></b></a>&nbsp;&nbsp;<a href='"+site_url+"/login.php' target='_blank'><b>VIP登录</b></a>&nbsp;&nbsp;<a href='"+site_url+"/mobilepay.php' target='_blank'><b>VIP续费</b></a></center>";
	else return;
	chapter_content=cbb_trans(chapter_content);
	var_array=new Array("chapter_content");
	parseHTML(var_array);
}

function parseHTML(var_array)//替换变量
{
	if(!var_array) return;
	var i=0;
	var j=0;
	var divs;
	var lang="";
//	var str="";
	for(i=0;i<var_array.length;i++)
	{
//		str="正在初始化:"+var_array[i] +"\n"+ eval(var_array[i]);
//		alert(str);
		divs=document.getElementsByName(var_array[i]);
		if(getCookie("font_lang")=="1") 
		{
			lang=".s2t()";
		}
		j=0;
		while(divs[j])
		{
			eval("divs["+j+"].innerHTML="+var_array[i]+lang);
			j++;
		}
	}
}

function releaseHTML()//释放变量资源
{
	if(!var_array) return;
	var i=0;
	var j=0;
	for(i=0;i<var_array.length;i++)
	{
//		alert("正在释放:"+var_array[i]);
		eval(var_array[i]+"='';");
	}
}

function cbb_trans(str) {//cbb替换
	str = str.replace("  "," ");
	str = str.replace(/\[url=([^\]]+)\](.*?)\[\/url\]/g,"<a href='$1' target=_blank>$2</a>");
	str = str.replace(/\[color=([^\]]+)\](.*?)\[\/color\]/g,"<font color='$1'>$2</font>");
	str = str.replace(/\[img\](.*?)\[\/img\]/g,"<img src='$1'>");
	return str;
}

function initialize() //设置滚动定时器
{
	timer = setInterval("scrollwindow()", 1); 
} 

function sc() //取消滚动
	{
	clearInterval(timer); 
	}

function scrollwindow() //滚动页面
{ 
	currentpos=document.body.scrollTop; 
	window.scroll(0,++currentpos); 
	if (currentpos != document.body.scrollTop) sc(); 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -