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

📄 toolbar.js

📁 南开火狐
💻 JS
📖 第 1 页 / 共 2 页
字号:
			}
			function errorOpen(){
				doc.getElementsByTagName("div")[0].innerHTML = uti.sb().getString("LoadError");
			}
			// request for search result
			try {
				uti.makeRequest("POST", musicUrl, openMusicNK, errorOpen, content, null);
			}catch(e){
				bus(e);
			}
			break;
		};
		case "movie" : {
			if (branch == "name") {
				movieUrl += "?skind=filmname&skey=" + query; 
			} else {
				movieUrl += "?skind=actor&skey=" + query;
			}
			uti.openURL(movieUrl);
			break;		
		};
		case "soft" : {
			uti.openURL(softUrl + "?keyword=" + query);
			break;
		};
		case "12club" : {
			clubUrl += "?q=" + query + "&m=";
			switch (branch) {
				case "movie" : clubUrl += "1"; break;
				case "game" : clubUrl += "2"; break;
				case "cartoon" : clubUrl += "3"; break;
				case "soft" : clubUrl += "4"; break;
				case "ebook" : clubUrl += "5"; break;
			};
			uti.openURL(clubUrl);
			break;
		};
		case "google" : {
			googleUrl += "&q=" + query + "+site%3Anankai.edu.cn";
			uti.openURL(googleUrl);
			break;
		}
		default : return null;
	}
}

NKToolbar.prototype.loadTopTen = function() {
	var url = "http://nkbbs.org/hottopic10.htm";
	var loading = document.getElementById("bbs_top_loading");
	loading.setAttribute("label", uti.sb().getString("Loading"));
	loading.setAttribute("hidden", "false");
	var popup = document.getElementById("bbs_top_popup");
	var sep = document.getElementById("bbs_top_sep");
	
	function removeAllChild() {
		// remove all child nodes first
		var popupChild = popup.childNodes;
		for (var i = popupChild.length - 1;i >= 0; i--) {
			var filter = popupChild[i].getAttribute("id");
			if (filter != "bbs_top_loading" && filter != "bbs_top_sep"
					&& filter != "bbs_top_open")
				popup.removeChild(popupChild[i])
		}			
	}
	
	var hiddenBrowser = uti.getHiddenBrowser();
	var doc = hiddenBrowser.contentDocument;
	removeAllChild();
	
	// fill bbs menuitems
	function fillBBS(odoc) {		
		loading.setAttribute("hidden", "true");
		
		// bug fixed
		if (popup.childNodes.length > 3) removeAllChild();

		var items = odoc.evaluate("//div[@id='bbs']/table/tbody/tr/td/table/tbody/tr", odoc, null, XPathResult.ANY_TYPE, null);
		var i = 1;
		var item = items.iterateNext();
		while (item) {
			// fill lists
			if ((i >= 3) && (i % 2 == 1)){
				var titleNode = item.childNodes[0].childNodes[0];
				var boardNode = item.childNodes[1].childNodes[0];
				var mi = document.createElement("menuitem");
				mi.setAttribute("label", boardNode.textContent + "  " + titleNode.textContent);
				mi.setAttribute("oncommand", "uti.openURL('http://nkbbs.org" + titleNode.getAttribute("href") + "')");
				popup.insertBefore(mi, sep);
			}
			i++;
			item = items.iterateNext();
		}
	}
	
	// request received
	function reqBBS(req) {
		doc.write("<div id='bbs'>" + req.responseText + "</div>");
		doc.close();
		fillBBS(doc);
		
	};
	// if error
	function loadBBSError() {
		loading.setAttribute("label", uti.sb().getString("LoadError"));
	}
	
	if (doc.getElementById("bbs") != null) {
		// load bbs top ten from cache
		fillBBS(doc);
	} else {
		uti.makeRequest("GET", url, reqBBS, loadBBSError, null, null);
	}
	
	// clear bbs cache every 5 minutes
	bbsTimer = window.setInterval(function(){doc.removeChild(doc.getElementById("bbs"));}, 5*1000*60);	
}

NKToolbar.prototype.loadLatelyNews = function() {
	var url = "http://news.nankai.edu.cn/";
	var loading = document.getElementById("news_lately_loading");
	loading.setAttribute("label", uti.sb().getString("Loading"));
	loading.setAttribute("hidden", "false");
	var popup = document.getElementById("news_lately_popup");
	var sep = document.getElementById("news_lately_sep");
	
	// remove all child nodes first
	function removeAllNews() {
		var popupChild = popup.childNodes;
		for (var i = popupChild.length - 1;i >= 0; i--) {
			var filter = popupChild[i].getAttribute("id");
			if (filter != "news_lately_loading" && filter != "news_lately_sep"
					&& filter != "news_lately_open")
				popup.removeChild(popupChild[i])
		}	
	}
	
	var hiddenBrowser = uti.getHiddenBrowser();
	var doc = hiddenBrowser.contentDocument;
	removeAllNews();

	// request received, fill menuitem
	function fillNews(odoc) {
		loading.setAttribute("hidden", "true");	
		
		// bug fixed
		if (popup.childNodes.length > 3) removeAllNews();

		var items = odoc.evaluate("//div[@id='news']/table/tbody/tr/td[2]/a", odoc, null, XPathResult.ANY_TYPE, null);
		var item = items.iterateNext();
		while (item) {
			var title = item.textContent;
			var href = item.getAttribute("href");
			var mi = document.createElement("menuitem");
			mi.setAttribute("label", title);
			mi.setAttribute("oncommand", "uti.openURL('" + href + "')");
			popup.insertBefore(mi, sep);
			item = items.iterateNext();
		}
	};
	
	function reqNews(req){
		var res = req.responseText.replace(/\n/g, "").replace(/\r/g, "");
		var content = res.split("yaowen")[1];
		content = "<div id='news'><!--" + content + "--></div>";
		doc.write(content);
		doc.close();
		fillNews(doc);
	}
	
	// if error
	function loadNewsError() {
		loading.setAttribute("label", uti.sb().getString("LoadError"));
	}

	if (doc.getElementById("news") != null) {
		// load lately news from cache
		fillNews(doc);
	} else {
		uti.makeRequest("GET", url, reqNews, loadNewsError, null, null);	
	}
	
	// clear news cache every 30 minutes
	newsTimer = window.setInterval(function(){doc.removeChild(doc.getElementById("news"));}, 30*1000*60);
}

NKToolbar.prototype.loadNewMovie = function() {
	var url = "http://movie.nankai.edu.cn/movie/index.php";
	var loading = document.getElementById("movie_new_loading");
	loading.setAttribute("label", uti.sb().getString("Loading"));
	loading.setAttribute("hidden", "false");
	var popup = document.getElementById("movie_new_popup");
	var sep = document.getElementById("movie_new_sep");
	
	function removeAllMovie() {
		// remove all child nodes first
		var popupChild = popup.childNodes;
		for (var i = popupChild.length - 1;i >= 0; i--) {
			var filter = popupChild[i].getAttribute("id");
			if (filter != "movie_new_loading" && filter != "movie_new_sep"
					&& filter != "movie_new_open")
				popup.removeChild(popupChild[i])
		}		
	}
	
	var hiddenBrowser = uti.getHiddenBrowser();
	var doc = hiddenBrowser.contentDocument;
	removeAllMovie();
	
	// request received, fill menuitem
	function fillMovie(odoc) {
		loading.setAttribute("hidden", "true");	
		// bug fixed
		if (popup.childNodes.length > 3) removeAllMovie();
		var items = odoc.evaluate("//div[@id='movie']/table[4]/tbody/tr/td[2]/table[4]/tbody/tr[2]/td/table/tbody/tr", odoc, null, XPathResult.ANY_TYPE, null);
		var item = items.iterateNext();
		while (item) {
			// fill lists
			var titleNode = item.childNodes[3].childNodes[0];
			var timeNode = item.childNodes[5].childNodes[0];
			var mi = document.createElement("menuitem");
			mi.setAttribute("label", titleNode.textContent + "  " + timeNode.textContent);
			mi.setAttribute("oncommand", "uti.openURL('http://movie.nankai.edu.cn/movie/" + titleNode.getAttribute("href") + "')");
			popup.insertBefore(mi, sep);
			item = items.iterateNext();
		}
	};
	
	// request for movie information
	function reqMovie(req) {		
		doc.write("<div id='movie'>" + req.responseText + "</div>");
		doc.close();		
		fillMovie(doc);
	}
	// if error
	function loadMovieError() {
		loading.setAttribute("label", uti.sb().getString("LoadError"));
	}	
		
	if (doc.getElementById("movie") != null) {
		// load movie ten from cache
		fillMovie(doc);
	} else {
		uti.makeRequest("GET", url, reqMovie, loadMovieError, null, null);
	}
		
	// clear movie cache every 30 minutes
	movieTimer = window.setInterval(function(){doc.removeChild(doc.getElementById("movie"));}, 30*1000*60);
	
}


NKToolbar.prototype.login = function(_type) {
	
	var user = prefs.getStringPref("login." + _type + ".default-user");
	var pwd = prefs.getStringPref("login." + _type + ".default-pwd");
	var rem = prefs.getBoolPref("login." + _type + ".remember");
	
	if (!rem || user == null || pwd == null) {		
		var params = {inn : {i_user : user, i_pwd : pwd, i_type : _type}, out : null};
		window.openDialog("chrome://nktoolbar/content/login.xul", "", 
					  "centerscreen,dependent,modal", 
					  params).focus();		
		var user = params.out.o_user;
		var pwd = params.out.o_pwd;
	}
	 
	switch (_type) {
		case "bbs" : {
			var loginBBSUrl = "http://nkbbs.org/cgi-bin/bbs/bbslogin";			
			var contents = [["id", user], ["pw", pwd]];
			var content = "";
			for (var i in contents) {
				content += contents[i][0] + "=" + (contents[i][1]) + "&";
			}
			
			var gBrowser = uti.getCurrWindow().getBrowser();
			gBrowser.selectedTab = gBrowser.addTab("");
			var browser = gBrowser.selectedBrowser;
			
			// Thanks to bobo's help!
			var dataStream = Cc["@mozilla.org/io/string-input-stream;1"].
				                 			createInstance(Ci.nsIStringInputStream);
			dataStream.setData(content, content.length);
			var mimeStream = Cc["@mozilla.org/network/mime-input-stream;1"].
			                  	createInstance(Ci.nsIMIMEInputStream);
			mimeStream.addHeader("Content-Type", "application/x-www-form-urlencoded");
			mimeStream.addContentLength = true;
			mimeStream.setData(dataStream);
			var sis = mimeStream.QueryInterface(Ci.nsIInputStream);
			var atom = Components.classes['@mozilla.org/atom-service;1']
		                  .getService(Components.interfaces.nsIAtomService);  
			browser.documentCharsetInfo.forcedCharset = atom.getAtom("GB2312");
			
			browser.loadURIWithFlags(loginBBSUrl, Ci.nsIWebNavigation.LOAD_FLAGS_NONE, null, null, sis);
			break;			
		};
		case "mail" : {				
			var token = Math.random() * 100000000;
			var url = "http://mail.nankai.edu.cn/cgi-bin/login?token=" + token.toString();
			
			var contents = [["LoginName", user], ["domain", "mail.nankai.edu.cn"], ["Password", pwd], ["Submit", "%B5%C7%C2%BC"]];
			var content = "";
			for (var i in contents) {
				content += contents[i][0] + "=" + (contents[i][1]) + "&";
			}
			
			var gBrowser = uti.getCurrWindow().getBrowser();
			gBrowser.selectedTab = gBrowser.addTab("");
			var browser = gBrowser.selectedBrowser;
			
			// Thanks to bobo's help!
			var dataStream = Cc["@mozilla.org/io/string-input-stream;1"].
				                 			createInstance(Ci.nsIStringInputStream);
			dataStream.setData(content, content.length);
			var mimeStream = Cc["@mozilla.org/network/mime-input-stream;1"].
			                  	createInstance(Ci.nsIMIMEInputStream);
			mimeStream.addHeader("Content-Type", "application/x-www-form-urlencoded");
			mimeStream.addContentLength = true;
			mimeStream.setData(dataStream);
			var sis = mimeStream.QueryInterface(Ci.nsIInputStream);
			var atom = Components.classes['@mozilla.org/atom-service;1']
		                  .getService(Components.interfaces.nsIAtomService);  
			browser.documentCharsetInfo.forcedCharset = atom.getAtom("GB2312");
			
			browser.loadURIWithFlags(url, Ci.nsIWebNavigation.LOAD_FLAGS_NONE, null, null, sis);
			break;
		};
		case "gate" : {
			var loginGateUrl = "https://202.113.16.223/php/user_login.php";
			
			
			
			var contents = [["logintype", "%C1%AC%CF%DF%B9%FA%BC%CA"], ["loginuser", user], ["domainid", "1"], ["password", pwd]];
			var content = "";
			for (var i in contents) {
				content += contents[i][0] + "=" + (contents[i][1]) + "&";
			}
			
			var gBrowser = uti.getCurrWindow().getBrowser();
			gBrowser.selectedTab = gBrowser.addTab("");
			var browser = gBrowser.selectedBrowser;
			
			// Thanks to bobo's help!
			var dataStream = Cc["@mozilla.org/io/string-input-stream;1"].
				                 			createInstance(Ci.nsIStringInputStream);
			dataStream.setData(content, content.length);
			var mimeStream = Cc["@mozilla.org/network/mime-input-stream;1"].
			                  	createInstance(Ci.nsIMIMEInputStream);
			mimeStream.addHeader("Content-Type", "application/x-www-form-urlencoded");
			mimeStream.addContentLength = true;
			mimeStream.setData(dataStream);
			var sis = mimeStream.QueryInterface(Ci.nsIInputStream);
			var atom = Components.classes['@mozilla.org/atom-service;1']
		                  .getService(Components.interfaces.nsIAtomService);  
			browser.documentCharsetInfo.forcedCharset = atom.getAtom("GB2312");
			
			browser.loadURIWithFlags(loginGateUrl, Ci.nsIWebNavigation.LOAD_FLAGS_NONE, null, null, sis);
			
			break;
			
		};
		default : break;
	}
	
}

NKToolbar.prototype.checkOnline = function() {
	var url = "https://202.113.16.223/php/onlinestatus.php";
	function check(req) {
		var html = req.responseText.replace("\n", "").replace("\r", "");//alert(html);
		if (/(.*?)logout_net\.php(.*?)/gm.test(html)) {
			//alert("hao");
			document.getElementById("gate_logout").setAttribute("disabled", "false");
		}
	}
	uti.makeRequest("GET", url, check, null, null, null);
}


NKToolbar.prototype.logout = function(type) {
	if (type == "gate") {
		uti.logoutGate();		
	}
}

uti.logoutGate = function() {
	function logoutOver() {
		uti.openURL("http://202.113.16.223/php/onlinestatus.php");
	}
	uti.makeRequest("POST", "https://202.113.16.223/php/logout_net.php", logoutOver);
}



NKToolbar.prototype.openSettings = function() {
	openDialog("chrome://nktoolbar/content/preference.xul", "",
			"centerscreen,dependent,modal", null);
}




/*


function test() {
	var url = "http://nkbbs.org";
	uti.makeRequest("GET", url, rec, null, null, null);	
}

nktoolbar.prototype.test = function(param) {
	
	var url = "http://nkbbs.org";
	uti.makeRequest("GET", url, al, null, null, null);	
	function al(res) {
		alert(res.responseText);
		alert(param)
	}
}



function rec(res) {
	alert(res.responseText);
}

function testlogin() {
	var req = new XMLHttpRequest();
	function received(){
		var res = req.responseText;
		alert(res);
		if (/(.*?)javascript>(.*?)<\/script>(.*?)/.test(res.replace("\n", ""))) {
			var js = RegExp.$1;
			alert(js);
			eval(js);
		} else {
			alert("failed");
		}
		
	}
	var content = "logintype=%C1%AC%CF%DF%B9%FA%BC%CA&loginuser=2120050325&domainid=1&password=507&refer=1&x=44&y=11";
	var url = "https://202.113.16.223/php/user_login.php";
	req.open("POST", url, false);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.setRequestHeader("Cookie", "PHPSESSID=d515a7f5442b0596d5da83b71b175b19");
	req.overrideMimeType("text/xml;charset=gb2312");
	req.onload = received;
	req.send(content);
	
}
*/


⌨️ 快捷键说明

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