讨论:讨论板:修订间差异

添加2,086字节 、​ 2020年12月16日 (星期三)
→‎WikiEditor编辑器修改插件:​ // Edit via Wikiplus
刚才突然反应过来了,之前没想起来今天是什么日子。--{{用户:自由李代数/签名org}} 2020年12月13日 (日) 09:08 (CST)
{{ts|问题已解决|--{{用户:自由李代数/签名org}} 2020年12月13日 (日) 09:08 (CST)}}
 
== 防止手贱点到回退按钮 ==
 
<div class="js"><pre>// ------------------
// 防止手贱回退页面
// ------------------
$(function () {
for (let a of Array.from(document.querySelectorAll('.mw-rollback-link a'))) {
a.addEventListener('click', function (ev) {
if (!confirm('确定要回退吗?')) { ev.preventDefault() }
})
}
})</pre>
由于MediaWiki的JS压缩器只支持“ES2015”中“ES”和“5”的部分,因此即使这段代码能在任一主流浏览器上运行,也'''只会在你的用户JS页面报错'''。
 
请使用<code>mw.loader.load</code>来加载,或者:
<pre>eval("$(function(){for(let a of Array.from(document.querySelectorAll('.mw-rollback-link a'))){a.addEventListener('click',function(ev){if(!confirm('确定要回退吗?')){ev.preventDefault()}})}})")</pre>
 
当然,这里我也推荐[[用户:自由李代数/common.js|'''李代数的方案''']],不会导致MW的报错,同时也更好看。
<pre>// 取自 https://minecraft-zh.gamepedia.com/User:Ff98sha/common.js,仅供学习研究用
mw.loader.using(['oojs-ui-windows', 'oojs-ui-core'],
function() {
$('.mw-rollback-link a').each(function() {
var href = $(this).attr('href');
$(this).click(function(e) {
e.preventDefault();
OO.ui.confirm('你确定要回退此页面吗?').done(function(confirmed) {
if (confirmed) { location.href = href; }
});
});
});
});</pre>
 
思路:阻止锚点的默认动作 -> 用户确认是否继续 -> 执行默认动作/什么都不发生
</div>
<span style="color:#0000;background-image:linear-gradient(345deg, #596ca6,#609f9f, #596ca6,#609f9f);background-clip:text;-webkit-background-clip:text;font-weight:bold;font-family:PRISTINA,'Microsoft Yahei',Lora;font-size:1.15rem" salt>-- [[用户:Salt_lovely|'''{{font|color=#0000|Salt lovely}}''']]{{font|size=.5rem|「[[用户讨论:Salt_lovely|{{font|color=#0000|非谢家之宝树}}]],[[特殊:用户贡献/Salt_lovely|{{font|color=#0000|接孟氏之芳邻}}]]」}}</span> 2020年12月16日 (三) 16:08 (CST)