User:Chaplin/fixSSL.js
外观
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google Chrome、Firefox、Microsoft Edge及Safari:按住⇧ 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>