MediaWiki:Common.js

来自维基学院

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
  • Opera:Ctrl-F5
/* 这里的任何JavaScript将为所有用户在每次页面载入时加载。 */
/* Any JavaScript here will be loaded for all users on every page load. */

/* deprecated */
var	hasClass = function(e, c) { return $(e).hasClass(c); },
	import_script = importScript;

/* 當需要時載入對應的scripts */
var importScriptRL = function(page) {
    mw.loader.load(mw.config.get('wgScript') + '?title=' + mw.util.wikiUrlencode(page) + '&action=raw&ctype=text/javascript&_=' + Math.floor((new Date())/1000/60/60/24/7));
};

if (mw.config.get('wgAction') === 'edit' || mw.config.get('wgAction') === 'submit' || mw.config.get('wgCanonicalSpecialPageName') === 'Search') {
    /* scripts specific to editing pages */
    importScriptRL('MediaWiki:Common.js/edit.js');
} else {
    mw.loader.using('ext.visualEditor.desktopArticleTarget.init', function() {
        mw.libs.ve.addPlugin(function() {
            importScriptRL('MediaWiki:Common.js/edit.js');
        });
    });
}

// importScript("MediaWiki:Navigation.js");				// 可折疊表格和動態導航
importScript("MediaWiki:Sidebar.js");					// 自定義側邊欄
importScript("MediaWiki:EditToolbar.js");				// 其他編輯工具
importScript("MediaWiki:Displayname.js");				// 更改名稱空間選項卡和顯示標題
importScript("MediaWiki:Tables.js");					// 更改某些表的樣式
importScript("MediaWiki:DebateTree.js");				//  wikidebate初始化腳本
importScript("MediaWiki:Common.js/WatchlistNotice.js");	// 監視列表通知
importScript("MediaWiki:Common.js/Slideshows.js");		// 交互式幻燈片
importScript("MediaWiki:Common.js/addin-mooc.js");		// MOOC界面
// importScript("MediaWiki:CollapsibleTemplates.js");		// Navbox等带隐藏显示按钮的脚本

/**
 * @source https://www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL
 * @revision 2016-03-26
 */
mw.loader.using( ['mediawiki.util'], function () {
	var extraCSS = mw.util.getParamValue( 'withCSS' ),
		extraJS = mw.util.getParamValue( 'withJS' ),
		extraModule = mw.util.getParamValue( 'withModule' );

	if ( extraCSS ) {
		if ( /^MediaWiki:[^&<>=%#]*\.css$/.test( extraCSS ) ) {
			mw.loader.load( '/w/index.php?title=' + extraCSS + '&action=raw&ctype=text/css', 'text/css' );
		} else {
			mw.notify( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withCSS value' } );
		}
	}

	if ( extraJS ) {
		if ( /^MediaWiki:[^&<>=%#]*\.js$/.test( extraJS ) ) {
			mw.loader.load( '/w/index.php?title=' + extraJS + '&action=raw&ctype=text/javascript' );
		} else {
			mw.notify( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withJS value' } );
		}
	}

	if ( extraModule ) {
		if ( /^ext\.gadget\.[^,\|]+$/.test( extraModule ) ) {
			mw.loader.load( extraModule );
		} else {
			mw.notify( 'Only gadget modules are allowed.', { title: 'Invalid withModule value' } );
		}
	}
});