User:670839245/common.js: Difference between revisions

From the Super Mario Wiki, the Mario encyclopedia
Jump to navigationJump to search
(Created page with "try { console.log ('MediaWiki:Common.js 档 :: 正式版 v1 Build 02') } catch (e) { } →‎loggedIn 是否登陆, opMode 操作模式, 比如 View。: var loggedIn = mw.confi...")
 
mNo edit summary
Line 84: Line 84:
if (viewMode && loggedIn) { $('.staffOnly').show (); }
if (viewMode && loggedIn) { $('.staffOnly').show (); }


/* 血 汗 钱 by jixun66 Modified from adf.ly's  "Full Page Script". */
// 变量声明
var url, oUrl, nUrl = "";
// 地址前缀
var urlf = "http://adf.";
var urlff = "ly/1349498/banner/";
// 白名单匹配
var exclude_domains = '|mariowiki.jixun.org|tieba.baidu.com|tieba.com|kuai.xunlei.com|adf.ly|www.mariowiki.com|';


// 白名单列表
function in_object(str_, val) {
var str = val;
var Pos1 = str.indexOf ('://')+3;
str = str.substr(Pos1 , str.indexOf ('/', Pos1 ) - Pos1);
return (str_.indexOf ('|' + str + '|') != -1);
}
$(document).ready(function () {
$('a').each (function (i) {
oUrl = $(this).attr('href');
if (oUrl != undefined) {
nUrl = oUrl.toLowerCase();
// 若不为 http/https 开头,且 adf.ly 不为第七位,则进入
if (nUrl.substr(0,7) == "http://" || nUrl.substr(0,8) == "https://") {
// 检查是否在白名单内
if (!in_object(exclude_domains, nUrl)) {
// 确认不在白名单,添加血汗钱链接。
url = urlf + urlff + oUrl;
$(this).attr('href', url);
}
}
}
});
});
/* 自动添加文件描述Aboutfile运行脚本 */
/* 自动添加文件描述Aboutfile运行脚本 */
if (mw.config.get('wgCanonicalSpecialPageName') === 'Upload'){addOnloadHook(function(){
if (mw.config.get('wgCanonicalSpecialPageName') === 'Upload'){addOnloadHook(function(){

Revision as of 06:14, March 2, 2013

try { console.log ('MediaWiki:Common.js 档 :: 正式版 v1 Build 02') } catch (e) { }
/* loggedIn 是否登陆, opMode 操作模式, 比如 View。 */
var loggedIn = mw.config.get ('wgUserName') !== null,
    opMode = mw.config.get('wgAction'),
    viewMode = (opMode === 'view'),
    newNav = function (sTitle, sHref, sTarget, sAccesskey) {
	// 寻找元素;不用两个 var 定义变量可以压缩更小。
	var ns = $('div#p-namespaces ul'),
	    but = ns.find('li:first').clone ();

	// 进行新按钮设定
	but.removeClass ().find('a').text (sTitle).attr({
		'title': sTitle + (sAccesskey?' [alt-shift-'+sAccesskey+']':''),
		'href': (typeof(sHref)=='string'?sHref:'javascript:void(0);'),
		'target': (sTarget||'_self'),
		'accesskey': (sAccesskey||'')
	}).click ((typeof(sHref) == 'function')?sHref:function(){});
	
	// 插入新按钮进去:
	ns.append (but);
},  getP = function () {
	var pC = ({
		'sysop':'管理员',
		'bureaucrat':'行政员',
		'patroller':'巡查员',
		'user': '普通用户',
	}),
	ret = [];
	for (var i=0; i<wgUserGroups.length; i++) {
		var p = (pC[wgUserGroups[i]]|| '');
		if (p.length > 0) { ret.push (p); }
	}
	return (ret.join('、')||'无');
};
// 仅限首页显示登陆信息
if (wgArticleId === 1) {
	var hL = $('<div />').slideUp().css ({
		'float': 'left',
		'padding-left': '10px',
		'padding-top': '3px',
		'color': 'white'
	}).text ('您尚未登陆,因此部分功能不可用。');

	if (loggedIn) { hL.text ('您已登陆为用户: '+wgUserName+',您的权限为: '+getP()); }
	$('#headwrap').append (hL);
	hL.delay(100).slideDown('slow').delay(7000).slideUp('slow');
}
/* 阅读模式 :: 开始 */
window.readMode = false;
var normalMode = [
	$('div#content').css ('margin-left'), 
	$('div#content').css ('border-radius'),
	$('div#mw-head').css ('padding'),
	$('div#mw-head-base').css ('margin-top'),
	$('div#mw-head-base').css ('background-image'),
];
newNav ('阅读模式', function () {
	var rM = window.readMode = !window.readMode;
	if (rM) {
		// 阅读模式
		$('#mw-panel,div#headwrap,div#footer').hide();
		$('div#content').css ({'margin-left':'0', 'border-radius':'0'});
		$('div#mw-head').css ('padding', '0');
		$('div#mw-head-base').css ({'margin-top':'-21.55em', 'background-image':'none'});
	} else {
		$('#mw-panel,div#headwrap,div#footer').show();
		$('div#content').css ({'margin-left':normalMode[0], 'border-radius':normalMode[1]});
		$('div#mw-head').css ('padding', normalMode[2]);
		$('div#mw-head-base').css ({'margin-top':normalMode[3], 'background-image':normalMode[4]});
	}
});
/* 阅读模式 :: 结束 */

/* 可折叠表格 for 预览页*/
if ( wgIsArticle || window.location.href.indexOf( 'action=submit' ) > -1 ) {
	var script	= document.createElement('script');
	script.src	= '/index.php?title=MediaWiki:Common.js/CollapsibleTables.js&action=raw&ctype=text/javascript';
	script.type	= 'text/javascript';
	document.getElementsByTagName( 'head' )[0].appendChild( script );
	hookEvent( 'load', function() { new CollapsibleTables(); } );
}

/* staffOnly 特效 */
if (viewMode && loggedIn) { $('.staffOnly').show (); }


/* 自动添加文件描述Aboutfile运行脚本 */
if (mw.config.get('wgCanonicalSpecialPageName') === 'Upload'){addOnloadHook(function(){
	$('#wpUploadDescription').val ('==摘要==\n\u007B\u007Baboutfile\n|1=[图片标题]\n|2=[图片来源]\n|3=[作者]\n|4=[描述更改]\n|5=[其他版本 (使用[[:File:文件名.扩展名]])]\n}}');
	
	var tkBox = $('#mw-htmlform-options');
	var tkMyBox = tkBox.find ('tr').first().clone();
	tkMyBox.find ('input').attr({
		'name': 'wpAddSource',
		'value': '1',
		'id': 'wpAddSource'
	});
	tkMyBox.find ('label').attr({
		'for': 'wpAddSource'
	}).last().text('提交时往后方添加模板声明: 来自英文原版');
	tkBox.append(tkMyBox);
	
	$('input[name="wpUpload"]').click (function () {if($('#wpAddSource').prop('checked')) { $('#wpUploadDescription').val($('#wpUploadDescription').val()+'\n\n\u007B\u007B来自英文原版|File:' + $('#wpDestFile').val() + '}}'
)}})})}

/* 迅雷快传下载链接 */
/*
function webkc_trim(a){return a!=null?a.replace(/(^\s*)|(\s*$)/g,""):a}(function(){var a=navigator.appVersion.indexOf("MSIE")!=-1,b=/webkit\/(\d+)/i.test(navigator.userAgent)&&RegExp.$1<525,c=[],d=function(){for(var a=0;a<c.length;a++)c[a]()},e=document;e.webkc_ready=function(f){if(!a&&!b&&e.addEventListener)return e.addEventListener("DOMContentLoaded",f,!1);if(c.push(f)>1)return;if(a)(function(){try{e.documentElement.doScroll("left"),d()}catch(a){setTimeout(arguments.callee,0)}})();else if(b)var g=setInterval(function(){/^(loaded|complete)$/.test(e.readyState)&&(clearInterval(g),d())},0)}})(),document.onclick=function(a){var b=a||window.event,c=b.target?b.target:b.srcElement,d=webkc_trim(c.getAttribute("href"));if(d!=null&&d.indexOf("http://kuai.xunlei.com/d/")==0)return!1},create_kc_fu=function(){kc_is_mouse_down=!1;var a=document.body.offsetWidth;a=(a-704)/2,a<0&&(a=0),kc_div_left=a,kc_div_top="200",kc_div=document.getElementById("KC_DIV_F");if(!kc_div){kc_div=document.createElement("div"),kc_div.id="KC_DIV_F",kc_div.style.display="none",kc_div.style.left=kc_div_left+"px";if(navigator.appVersion.indexOf("MSIE 6")!=-1){var b=parseInt(document.documentElement.scrollTop)+parseInt(kc_div_top);kc_div.style.top=b+"px",kc_div.style.position="absolute"}else kc_div.style.top=kc_div_top+"px",kc_div.style.position="fixed";kc_div.style.background="transparent",kc_div.style.zIndex="9999",navigator.appVersion.indexOf("MSIE 6")!=-1?kc_iframe=document.createElement('<iframe frameborder="0" scrolling="no" width="553" height="390" src="">'):(kc_iframe=document.createElement("iframe"),kc_iframe.frameBorder=0,kc_iframe.scrolling="no",kc_iframe.width=553,kc_iframe.height=390,kc_iframe.src=""),kc_tuo_div=document.createElement("div"),kc_tuo_div.id="KC_TUO_DIV",kc_tuo_div.style.position="absolute",kc_tuo_div.style.top=0,kc_tuo_div.style.left="80px",kc_tuo_div.style.width="427px",kc_tuo_div.style.height="33px",kc_tuo_div.style.cursor="move",kc_tuo_div.style.zIndex="9999",kc_tuo_div.onmousedown=function(a){var b=a||window.event;return dx=b.clientX,dy=b.clientY,sx=parseInt(kc_div.style.left),sy=parseInt(kc_div.style.top),kc_is_mouse_down||(kc_is_mouse_down=!0),!1},kc_close_div=document.createElement("div"),kc_close_div.id="KC_CLOSE_DIV",kc_close_div.title="\u5173\u95ed",kc_close_div.style.position="absolute",kc_close_div.style.top=0,kc_close_div.style.right=0,kc_close_div.style.width="42px",kc_close_div.style.height="33px",kc_close_div.style.cursor="pointer",kc_close_div.style.zIndex="9999",kc_close_div.onclick=function(){kc_iframe.src="",kc_iframe.attachEvent?kc_iframe.detachEvent("onload",iframe_on):kc_iframe.onload="",kc_youhao_div.style.display="",kc_div.style.display="none"},kc_youhao_div=document.createElement("div"),kc_youhao_div.id="KC_YOUHAO_DIV",kc_youhao_div.style.position="absolute",kc_youhao_div.style.top=0,kc_youhao_div.style.left=0,kc_youhao_div.style.width="553px",kc_youhao_div.style.height="390px",kc_youhao_div.style.backgroundColor="transparent",kc_youhao_div.style.zIndex="99999",kc_youhao_div.innerHTML="<div style='margin:0 auto;margin-top:150px;color:red;width:250px;font-size:20px;position: relative;'><img src='http://img.kuai.xunlei.com/img/v2/loading2.gif'><div style='width:250px;height:50px;position: absolute;top:4px;left:40px;font-size: 17px;'>\u6b63\u5728\u52aa\u529b\u52a0\u8f7d...</div></div>",kc_div.appendChild(kc_close_div),kc_div.appendChild(kc_youhao_div),kc_div.appendChild(kc_tuo_div),kc_div.appendChild(kc_iframe);try{document.body.appendChild(kc_div)}catch(c){}}iframe_on=function(){kc_youhao_div.style.display="none"};var d=document.getElementsByTagName("a"),e=d.length;for(var f=0;f<e;f++){var g=webkc_trim(d[f].getAttribute("href"));if(g!=null&&g.indexOf("http://kuai.xunlei.com/d/")==0){var h=d[f].innerHTML;h.indexOf("kuai.xunlei.com/d/")!=-1&&(d[f].innerHTML="\u8fc5\u96f7\u4e0b\u8f7d")}}document.onclick=function(a){var b=a||window.event,c=b.target?b.target:b.srcElement,d=c.parentNode,e=c.parentNode.parentNode,f="";c.nodeName=="A"?f=c:d.nodeName=="A"?f=d:e.nodeName=="A"&&(f=e);if(f=="")return;var g=webkc_trim(f.getAttribute("href"));if(g!=null&&g.indexOf("http://kuai.xunlei.com/d/")==0){kc_youhao_div.style.display="";var h=g.substr(25);kc_iframe.src="http://kuai.xunlei.com/ds/"+h,kc_iframe.attachEvent?kc_iframe.attachEvent("onload",iframe_on):kc_iframe.onload=iframe_on;if(navigator.appVersion.indexOf("MSIE 6")!=-1){var i=parseInt(document.documentElement.scrollTop)+parseInt(kc_div_top);kc_div.style.top=i+"px"}return kc_div.style.display="",document.onmouseup=function(){return kc_is_mouse_down&&(kc_is_mouse_down=!1),!1},document.onmousemove=function(a){var b=a||window.event;if(kc_is_mouse_down)return kc_div_left=b.clientX-(dx-sx),kc_div.style.left=kc_div_left+"px",navigator.appVersion.indexOf("MSIE 6")!=-1?(kc_div_top_6=b.clientY-(dy-sy),kc_div.style.top=kc_div_top_6+"px"):(kc_div_top=b.clientY-(dy-sy),kc_div.style.top=kc_div_top+"px"),!1},!1}}},document.webkc_ready(function(){create_kc_fu()});
*/

/* 尝试精简 + 修正代码 by jixun66 */
(function () {
var cE = function (e) { return (document.createElement(e)); },
	speed = 'slow',
	kc_div = cE ('div'), /* 容器 */
	kc_close_div = cE ('div'), /* 关闭窗口 */
	kc_cover = cE ('div'),
	kc_iframe = $('<iframe frameborder="0" scrolling="no" width="553" height="390" />')[0];

// 遮罩层
$(kc_cover).css ({
	'position': 'fixed',
	'top': '0px',
	'left': '0px',
	'width': '100%',
	'height': '100%',
	'background': 'rgba(206, 206, 206, 0.5)',
	'z-index': '9998'
}).hide().click (function () { $(kc_close_div).click() });;

// 全局容器
$(kc_div).css({
	'display': 'none',
	'left': '30%',
	'top': '20%',
	'position': 'fixed',
	'z-index': '9999'
});

// 关闭窗口
$(kc_close_div).attr({
	'title': '\u5173\u95ED\u7A97\u53E3' /* 关闭窗口 */
}).css({
	'right': '0px',
	'position': 'absolute',
	'width': '42px',
	'height': '33px',
	'cursor': 'pointer',
	'z-index': '9999',
}).click(function () {
	kc_iframe.src = '';
	$(kc_div).hide(speed);
	$(kc_cover).hide (speed);
});

$(kc_div).append(kc_close_div).append(kc_iframe);
$('body').append(kc_div).append(kc_cover);

(function () {
var f = function (k, j, l, y, h) { $('#mw-content-text a.external[href*="' + k + '"]').each (function () {
	var a = $(this), b = a.attr('href'), c=b.substr(b.indexOf(k)+k.length)+(h||''), d=j||k;
	a.attr ({'title': '\u5355\u51FB\u4ECE' + l + '\u4E0B\u8F7D'}); /*单击从 xx 下载*/
	a.addClass (y);
	a.click (function (){
	$(kc_cover).show (speed);
	$(kc_div).show (speed);
	kc_iframe.src = d + c;
	return false;
})})};
f ('//kuai.xunlei.com/d/', '//kuai.xunlei.com/ds/', '\u5FEB\u76D8', 'kuai'); // 快盘
f ('//pan.baidu.com/', 0, '\u5EA6\u5A18\u76D8', 'du', '#share_aside'); // 度娘盘
}())}());