跳转到内容

MediaWiki:Common.js/zh

页面内容不支持其他语言。
维基新闻,自由的新闻源

/* 所有用户在加载任何页面时,这里的JavaScript都会加载

  • /

/*

庆祝标志

  • /

/* jQuery( function( $ ) {

   var plogo = document.getElementById("p-logo");
   var url = "//upload.wikimedia.org/wikipedia/commons/" + wgUVS("e/eb/Wikinews-logo-zh-4000.png", "e/eb/Wikinews-logo-zh-4000.png");
   if ( navigator.appName == "Microsoft Internet Explorer" ) {
       if ( navigator.appVersion.match(/MSIE [78].0/) == null ) {
           plogo.getElementsByTagName("span")[0].style.filter = "progid:DXImageTransform."
               + "Microsoft.AlphaImageLoader(" + url + ")";
       }
       else {
           var a = plogo.firstChild;
           a.style.backgroundImage = "url(" + url + ")";
       }
   }
   else {
       var a = plogo.getElementsByTagName("A")[0];
       a.style.backgroundImage = "url(" + url + ")";
   }

} );

  • /

/*

辅助处理

  • /

//功能设定 if(!window.JSConfig){var JSConfig={};} JSConfig.isEdit0=false; //设置是否显示编辑首段按钮 JSConfig.editSectionLink='right';//设置编辑按钮是否在右侧

// 移动元素 function elementMoveto(node, refNode, pos){//默认位置为refNode前 if(node && refNode){ var parent=refNode.parentNode; if (pos && pos=='after') {refNode=refNode.nextSibling;} try { if(refNode){ parent.insertBefore(node, refNode); }else{ parent.appendChild(node); } } catch (DOMException) {} } } //创建元素 function createElement(tag,children,props){ var element = document.createElement(tag); if(!(children instanceof Array)){children=[children];} for(var i=0;i<children.length;i++){ var child=children[i]; if(typeof child=='string'){child=document.createTextNode(child);} if(child){element.appendChild(child);} } if(typeof props=='object'){ for(var k in props){ switch(k){ case 'styles': var styles=props.styles; for(var s in styles){element.style[s]=styles[s];} break; case 'events': var events=props.events; for(var e in events){ addHandler(element,e,events[e]); } break; case 'class': element.className=props[k];break; default: element.setAttribute(k,props[k]); } } } return element; }

//wiki URL var wgProjectURL={ en:'//en.wikipedia.org/',de:'//de.wikipedia.org/',fr:'//fr.wikipedia.org/', pl:'//pl.wikipedia.org/',ja:'//ja.wikipedia.org/',it:'//it.wikipedia.org/', nl:'//nl.wikipedia.org/',pt:'//pt.wikipedia.org/',es:'//es.wikipedia.org/', sv:'//sv.wikipedia.org/',//仅列前十名其它语言百科 m:'//meta.wikimedia.org/',b:'//zh.wikibooks.org/',q:'//zh.wikiquote.org/', n:'//zh.wikinews.org/',wikt:'//zh.wiktionary.org/',mw:'//www.mediawiki.org/' }; /**

* 将页面名称转换为URL
*
* @param page 页面名称
* @param paras 附加后缀对象,用空对象{}做参数可以取得源码
*/

function getWikiPath(page,paras){ var reg=/^[a-z]+:/; var pre=page.match(reg); pre = pre && wgProjectURL[pre[0].replace(/:$/,)]; if (pre) {page=page.replace(reg,);} else {pre=;} var url = pre + mw.config.get('wgScript') + '?title=' + encodeURI( page.replace( ' ', '_' ) ); if(typeof paras=='object'){ paras.ctype=paras.ctype||'text'; paras.dontcountme=paras.dontcountme||'s'; paras.action=paras.action||'raw'; for(var k in paras){url += '&' + k + '=' + paras[k]; } } return url; }

//JS、CSS导入模块 importedURLs = {}; //用以保证脚本和样式只载入一次 function importScript( page ) { var src= /^https?:\/\//.test(page) ? page : getWikiPath(page,{'ctype':'text/javascript'}); if( importedURLs[src] ) { return; } importedURLs[src] = true; var scriptElem = createElement( 'script',null,{'src':src,'type':'text/javascript'} ); document.getElementsByTagName( 'head' )[0].appendChild( scriptElem ); } function importStylesheet( page ) { var sheet= /^https?:\/\//.test(page) ? page : getWikiPath(page,{'ctype':'text/css'}); if( importedURLs[sheet] ) { return; } importedURLs[sheet] = true; var styleElem = createElement( 'style', ['@import "'+sheet+'";'], {'type':'text/css'} ); document.getElementsByTagName( 'head' )[0].appendChild( styleElem ); }

/*

新闻评论页面

  • /

importScript("MediaWiki:Comments.js");

/*

中文转换处理

  • /

//设置中文语言页 var htmlE=document.documentElement; htmlE.setAttribute("xml:lang",mw.config.get('wgUserLanguage'));

//返回繁简字串 function wgULS(cn,tw,hk,sg,zh){//保证每一语言有值 return {'zh-cn':cn||sg,'zh-sg':sg||cn,'zh-tw':tw||hk,'zh-hk':hk||tw,'zh':zh||cn||tw||hk||sg,'zh-hans':cn||sg,'zh-hant':tw||hk}[mw.config.get('wgUserLanguage')]; }

/** lan enhanced Conversion ***********************************************************

*
*  Description: 根據當前用戶語言顯示相應內容
*  Maintainers: Fdcn@zh.wikipedia
*  Remakrs: Removed by Waihorace due to bug on IE
*/

/*

段落编辑连结

  • /

//JSConfig.isEdit0 设置是否出现“编辑首段”按钮 //对不需要编辑首段的页面,还可在页面中加 Template:NoEdit 模板来禁用。 //JSConfig.editSectionLink 设置“编辑”按钮的位置 if (mw.config.get('wgIsArticle') && mw.config.get('wgAction') == "view") { //增加编辑首段按钮 jQuery( function( $ ) { if(!JSConfig.isEdit0||(document.getElementById&&document.getElementById('no-edit-0'))){return;} var caEdit=document.getElementById&&document.getElementById('ca-edit'); if (!caEdit){return;} var linkAttributes={ 'href':caEdit.firstChild.href + '&section=0', 'title':wgULS('编辑正文所有标题之前的文字(通常称为首段或导言)','编辑正文所有标题之前的文字(通常称首段或导言)'), 'accesskey':'0' };

//增加0按钮标签 var caEdit0 = createElement( 'li', [createElement('A',['0'],linkAttributes)], {id:'ca-edit-0'} ); caEdit.className = 'istalk'; elementMoveto(caEdit0,caEdit,"after");

//增加条目标题下的“编辑首段”按钮 var editsection0= createElement( 'span', ['[',createElement('A',[wgULS('编辑首段','编辑首段')],linkAttributes),']'], {'class':'editsection'} ); var siteSub=document.getElementById&&document.getElementById('siteSub'); elementMoveto( editsection0 , siteSub.firstChild ); }); }

/*

取消修订编辑摘要修正

  • /

/**

 fix edit summary prompt for undo
 this code fixes the fact that the undo function combined with the "no edit summary prompter" causes problems if leaving the edit summary unchanged
 this was added by en:User:Deskana, code by en:User:Tra
*/

jQuery( function( $ ) { var autoSummary=document.getElementsByName('wpAutoSummary')[0]; if (document.location.search.indexOf("undo=") != -1 && autoSummary) { autoSummary.value=; } });

/*

Tabs

  • /

importScript('MediaWiki:Tabs.js');

/*

WikiMiniAtlas世界地图

  • /

/** WikiMiniAtlas *******************************************************

  *
  *  描述:WikiMiniAtlas是一個popup而可點選與拖曳的世界地圖。
  *               這個腳本將會讓所有的經緯度標示中顯示WikiMiniAtlas的popup開啟按鈕。
  *               由於被許多計畫使用,因此腳本放置在元維基中。
  *               更多資訊請詳見Meta:WikiMiniAtlas。
  *  創建者:en:User:Dschwen
  */

importScript('m:MediaWiki:Wikiminiatlas.js'); /*

Wikimedia媒体播放器

  • /

/** MediaWiki media player *******************************************************

 *
 *  Description: A Java player for in-browser playback of media files.
 *  Created by: en:User:Gmaxwell
 */

importScript('Mediawiki:Wikimediaplayer.js');

/**

* @source www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL
* @rev 6
*/

mw.loader.using( ['mediawiki.util'], function () {

   var extraCSS = mw.util.getParamValue( 'withCSS' ),
       extraJS = mw.util.getParamValue( 'withJS' );
   if ( extraCSS ) {
       if ( extraCSS.match( /^MediaWiki:[^&<>=%#]*\.css$/ ) ) {
           importStylesheet( extraCSS );
       } else {
           mw.notify( '只允许从MediaWiki名字空间加载。', { title: '无效的withCSS值' } );
       }
   }
   if ( extraJS ) {
       if ( extraJS.match( /^MediaWiki:[^&<>=%#]*\.js$/ ) ) {
           importScript( extraJS );
       } else {
           mw.notify( '只允许从MediaWiki名字空间加载。', { title: '无效的withJS值' } );
       }
   }

});