跳转到内容

User:Chaplin/fixSSL.js

维基百科,自由的百科全书
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google ChromeFirefoxMicrosoft EdgeSafari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
//<div><pre><nowiki>
//取得路径
function getpath(olink){
	if(is_gecko)
	{
		return olink.pathname;
	}
	var path = olink.outerHTML.replace(/^.*href="([^"]+)".*$/,"$1");
	return path.replace(/^ *(http|https):\/\/[^\/]*\//,"/");
}

//取得其它项目的路径
function getProjectUrl(olink){
	var hstrs=olink.hostname.split(".");
	return "/"+hstrs[1]+"/"+hstrs[0]+getpath(olink);
}

//取得本站的修正路径
function getFixPath(olink){
	var strs=location.href.split("/");
	return "/"+strs[3]+"/"+strs[4]+getpath(olink);
}

//修正链接地址
function fixWikimediaUrl(olink) {
	var reg=/(commons\.wikimedia|meta\.wikimedia|wikipedia|wiktionary|wikibooks|wikiquote|wikisource|wikinews)\.org/;
	if(olink.protocol=="http:" && reg.test(olink.hostname) )
	{
		olink.href="https://secure.wikimedia.org"+getProjectUrl(olink);
	}
	if(olink.protocol=="https:" && /^\/(w|wiki)\//.test(getpath(olink)))
	{
		olink.href="https://secure.wikimedia.org"+getFixPath(olink);
	}
	if(olink.oldfun){olink.oldfun();olink.onmouseover=olink.oldfun;}
	else {olink.onmouseover=null};
}

//设置动作
function setlink(){
	for(var i=0;i<document.links.length;i++) {
		document.links[i].oldfun=document.links[i].onmouseover;
		document.links[i].onmouseover=function(){fixWikimediaUrl(this);}
	}
}

if(location.protocol=="https:") {
	addLoadEvent(setlink);
}



//</nowiki></pre></div>