Site Notice
hello, world
Difference between revisions of "MediaWiki:Common.js"
From Project-EPB Commons
([InPageEdit] 没有编辑摘要) |
([InPageEdit] 没有编辑摘要) |
||
Line 7: | Line 7: | ||
/** Demo **/ | /** Demo **/ | ||
$(function(){ | $(function(){ | ||
− | if ( | + | if (mw.config.values.wgUserName) return; |
switch (mw.config.get('wgPageName')) { | switch (mw.config.get('wgPageName')) { | ||
case 'InPageEdit-v2': | case 'InPageEdit-v2': |
Revision as of 04:08, 3 January 2021
/* Any JavaScript here will be loaded for all users on every page load. */
mw.loader.load('https://wjghj.cn/index.php?title=MediaWiki:NotifyWhenCopy.js&action=raw&ctype=text/javascript');
mw.loader.load('https://common.wjghj.cn/js/SsiModal');
mw.loader.load('https://common.wjghj.cn/js/AddUserBadge');
mw.loader.load('https://common.wjghj.cn/js/i18n-js/editor'); // I18nEdit
/** Demo **/
$(function(){
if (mw.config.values.wgUserName) return;
switch (mw.config.get('wgPageName')) {
case 'InPageEdit-v2':
case 'InPageEdit-v2/API':
case '受限制页面':
mw.loader.load('https://cdn.jsdelivr.net/npm/mediawiki-inpageedit@latest/dist/InPageEdit.min.js');
break;
}
});
/** Global script (gtag.js) - Google Analytics **/
mw.loader.load('https://www.googletagmanager.com/gtag/js?id=UA-148909815-2');
$(window).load(function () {
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'UA-148909815-2');
});
/**
* ECharts
* Put ECharts on wiki pages
* Apache licenses https://www.echartsjs.com
**/
$(function () {
if ($('.echarts, .ECharts, .Echarts').length > 0) {
mw.loader.load('https://cdn.bootcss.com/echarts/4.4.0-rc.1/echarts.min.js'); // ECharts CDN
var tryEcharts = setInterval(function () {
if (typeof (echarts) !== 'undefined') {
clearInterval(tryEcharts);
$('.echarts, .ECharts, .Echarts').each(function () {
var $this = $(this),
option = eval("(" + $this.text() + ")"),
echartsElement = 'echartsElement-' + $this.index();
console.log("(" + $this.text() + ")");
$this.attr({ 'id': echartsElement });
echarts.init(document.getElementById(echartsElement)).setOption(option);
});
}
}, 500);
}
});
/* 拷贝时的版权提示
$(window).on('copy', function () {
if (wgUserGroups.includes('sysop')) return; // 不对管理员生效
mw.notify('你复制了什么呀~记得注明出处哦!');
var selectString = window.getSelection().toString();
if (selectString.length < 40) return; // 内容过短时不添加后缀
var finalString = selectString + '\n\n内容来自: ' + location.href + '\n采用知识共享署名-非商业性使用-相同方式共享(CC BY-NC-SA)授权。';
$('body').append($('<textarea>').attr('id', 'copyNt').val(finalString));
$('#copyNt').select();
document.execCommand('cut');
$('#copyNt').remove();
});
*/
/**
* User Functions
** Provides functions similar to [[Mw:Extension:UserFunctions]]
* Author: 机智的小鱼君
* Logs:
**
**/
(function ($, mw) {
$('.UserFunctions').html(function () {
// Create variables
var NoMatchedItems = 0,
$this = $(this), // class="UserFunctions"
$children = $this.children(),
type = this.dataset.type,
username = mw.config.get('wgUserName'),
usergroup = mw.config.get('wgUserGroups');
// Functions
switch (type) {
case 'iflogin':
if (username != null) {
$this.children('[data-keyword="true"]').show();
$this.children('[data-keyword="false"]').hide();
} else {
$this.children('[data-keyword="false"]').show();
$this.children('[data-keyword="true"]').hide();
}
break;
case 'username':
return username;
break;
case 'ifusername':
$children.each(function () {
var keyword = this.dataset.keyword;
if (keyword == username) {
$(this).show(); ++NoMatchedItems;
} else {
$(this).hide();
}
});
break;
case 'usergroup':
return usergroup;
break;
case 'ifingroup':
$children.each(function () {
var keyword = this.dataset.keyword;
if ($.inArray(keyword, usergroup) > 0) {
$(this).show(); ++NoMatchedItems;
} else {
$(this).hide();
}
});
break;
default:
return '<a href="https://dev.fandom.com/wiki/UserFunctions" target="_blank"><span style="font-weight:bold;color:#b00">User Functions type error!</span></a>';
}
// If no matched items, then show default
if (NoMatchedItems < 1) {
$this.children('[data-keyword="!default"]').show();
}
});
}(jQuery, mediaWiki));