MediaWiki:Gadget-Emotion.js:修订间差异
跳到导航
跳到搜索
imported>=海豚= (// Edit Via InPageEdit) |
imported>=海豚= 无编辑摘要 |
||
第1行: | 第1行: | ||
"use strict"; | |||
window.RLQ = window.RLQ || []; | |||
window.RLQ.push(() => $(() => (async () => { | |||
await mw.loader.using("mediawiki.Uri"); | |||
const domains = new Set("hdslb.com"); | |||
$(".noRefererConfig").each((_, { dataset: { domain } }) => { | |||
for (const d of domain.split("|")) { | |||
domains.add(d); | |||
} | |||
}); | |||
$('img[src^="http://"]').each((_, ele) => { | |||
const url = new mw.Uri(ele.src); | |||
for (const domain of domains.values()) { | |||
if (url.host.includes(domain)) { | |||
ele.src = ele.src.replace(/^http:/, "https:"); | |||
return; | |||
} | |||
} | |||
}); | |||
})())); | |||
(function () { | (function () { | ||
if (mw.config.get('wgAction') == 'view' && mw.config.get('wgPageName') != '首页') { | if (mw.config.get('wgAction') == 'view' && mw.config.get('wgPageName') != '首页') { |
2020年9月30日 (三) 12:49的版本
"use strict";
window.RLQ = window.RLQ || [];
window.RLQ.push(() => $(() => (async () => {
await mw.loader.using("mediawiki.Uri");
const domains = new Set("hdslb.com");
$(".noRefererConfig").each((_, { dataset: { domain } }) => {
for (const d of domain.split("|")) {
domains.add(d);
}
});
$('img[src^="http://"]').each((_, ele) => {
const url = new mw.Uri(ele.src);
for (const domain of domains.values()) {
if (url.host.includes(domain)) {
ele.src = ele.src.replace(/^http:/, "https:");
return;
}
}
});
})()));
(function () {
if (mw.config.get('wgAction') == 'view' && mw.config.get('wgPageName') != '首页') {
var emojis = '<div class="emo" style="display:none"><div class="emolist"><div>';
for (i = 1; i < 40; ++i) {
if (i == 40||i == 50) {
emojis += "</div><div>";
}
emojis += '<button class="flowthread-btn plus" data-id=' + i + '><div class="emos emoji' + i + '" ></div></button>';
}
emojis += "</div>";
var btns = "";
for (var i = 0; i < 3; i++) {
btns += '<button class="flowthread-btn emo-tab-' + i + '"></button>'
}
emojis = '<button class="flowthread-btn flowthread-btn-emoticon emoji" title="表情"><i class="far fa-laugh-wink" style="color:#555;"></i></button>' + emojis + '</div><div class="emo-tabs">' + btns + '</div></div>'
var i = setInterval(function () {
if ($(".comment-toolbar").length != 0) {
clearInterval(i);
$(".comment-toolbar").append(emojis);
$('.emolist>div>button').on('click', function () {
var textarea = $(this).parent().parent().parent().parent().prev().prev();
var text = textarea.val();
text += '<div class="emos emoji' + this.dataset.id + '"></div>';
textarea.val(text);
});
$(".flowthread-btn-emoticon").on('click', function () {
var btn = $(this);
if (btn.hasClass("on")) {
btn.next().hide(300);
btn.removeClass('on');
} else {
btn.next().show(300);
btn.addClass('on');
}
btn.prev().prev().prev().addClass("on");
});
$(".emo-tabs").on('click', 'button', function () {
var btn = $(this);
if (!btn.hasClass('on')) {
btn.parent().children().removeClass('on');
btn.addClass('on');
var n = parseInt(Array.from(this.classList).find(function (x) { return x.indexOf("emo-tab") != -1 }).replace('emo-tab-', ''));
var c = btn.parent().prev().children();
c.css('display','none');
$(c[n]).css('display','block');
}
});
$(".comment-container").on('click', '.comment-reply', function () {
var j = setInterval(function () {
var toolbar = $('.comment-container .comment-toolbar')
if (toolbar.length !== 0) {
clearInterval(j);
toolbar.append(emojis);
}
})
}).on('click', '.emolist>div>button', function () {
var textarea = $(this).parent().parent().parent().parent().prev().prev();
var text = textarea.val();
text += '<div class="emos emoji' + this.dataset.id + '"></div>';
textarea.val(text);
}).on('click', '.flowthread-btn-emoticon', function () {
var btn = $(this);
if (btn.hasClass("on")) {
btn.next().hide(300);
btn.removeClass('on');
} else {
btn.next().show(300);
btn.addClass('on');
}
btn.prev().prev().prev().addClass("on");
}).on('click','.emo-tabs>button',function(){
var btn = $(this);
if (!btn.hasClass('on')) {
btn.parent().children().removeClass('on');
btn.addClass('on');
var n = parseInt(Array.from(this.classList).find(function (x) { return x.indexOf("emo-tab") != -1 }).replace('emo-tab-', ''));
var c = btn.parent().prev().children();
c.css('display', 'none');
$(c[n]).css('display', 'block');
}
})
}
}, 1);
}
})();