|
|
Line 1: |
Line 1: |
| 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'); // 度娘盘
| |
| }())}());
| |