跳转到内容

User:Shortway/monobook.js

维基百科,自由的百科全书

这是User:Shortway/monobook.js当前版本,由Shortway留言 | 贡献编辑于2008年5月9日 (五) 04:13。这个网址是本页该版本的固定链接。

(差异) ←上一修订 | 最后版本 (差异) | 下一修订→ (差异)
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google ChromeFirefoxMicrosoft EdgeSafari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
//功能:自动通过分类添加需要导出的条目

	Array.prototype.strip = function(){//剔除重复
		if(this.length<2) [this[0]]||[];
		var arr = [];
		for(var i = 0; i<this.length; i++){
			arr.push(this.splice(i--, 1));
			for(var j = 0; j<this.length; j++){
				if(this[j] == arr[arr.length-1]){
					this.splice(j--, 1);
				}
			}
		}
		return arr;
	}

function autoAddExportFromCategory()
{//使用方法:添加一个书签	javascript:autoAddExportFromCategory()
	var myForm = document.forms[0];
	var myCatname = myForm.catname;
	var myPages = myForm.pages;
	var strPages = myPages.value;

	if(strPages.length<1){
		strPages="Category:" + prompt("请输入一个分类:", "");
	}
	else
	{
		strPages = strPages.replace(/^(user|user_talk):.*?$/ig, "");
		strPages = strPages.replace(/^.*?_talk:.*?$/ig, "");

		arrayPages = strPages.split("\n");		//分割
		arrayPages = arrayPages.sort();		   //排序
		strPages = arrayPages.strip().join("\n"); //合并

		strPages = strPages.replace(/^(Category:\S*?)[\r\n]+\1\+$/igm, "$1+")//剔除已完成的分类

	}

	R = /^Category:(\S*?[^\+])$/im;
	if(R.test(strPages))
	{
		void(myCatname.value = RegExp.$1);
		void(myPages.value = strPages.replace(/^(Category:\S*?[^\+])$/im, "$1+"));
		void(myCatname.select());
		myForm.addcat.click();
	}
	else
	{
		void(myPages.value = strPages.replace(/[-\+]+\r/igm, "\r"));
		if(! window.confirm("单击“确定”开始导出。单击“取消”停止。")){return;}
		myForm.elements[6].click();
	}
}


function autoAddExportFromCategory2()
{//使用方法:添加一个书签	javascript:autoAddExportFromCategory2()
	var myForm = document.getElementById("fwiki").contentWindow.document.forms[0];
	var myCatname = myForm.catname;
	var myPages = myForm.pages;
	var strPages = myPages.value;

	if(strPages.length<1){
		strPages="Category:" + prompt("请输入一个分类:", "");
	}
	else
	{
		strPages = strPages.replace(/^(user|user_talk):.*?$/ig, "");
		strPages = strPages.replace(/^.*?_talk:.*?$/ig, "");

		arrayPages = strPages.split("\n");		//分割
		arrayPages = arrayPages.sort();		   //排序
		strPages = arrayPages.strip().join("\n"); //合并

		strPages = strPages.replace(/^(Category:\S*?)[\r\n]+\1\+$/igm, "$1+")//剔除已完成的分类

	}

	R = /^Category:(\S*?[^\+])$/im;
	if(R.test(strPages))
	{
		void(myCatname.value = RegExp.$1);
		void(myPages.value = strPages.replace(/^(Category:\S*?[^\+])$/im, "$1+"));
		void(myCatname.select());
		myForm.addcat.click();
	}
	else
	{
		void(myPages.value = strPages.replace(/[-\+]+\r/igm, "\r"));
		if(! window.confirm("单击“确定”开始导出。单击“取消”停止。")){return;}
		myForm.elements[6].click();
	}
}