MediaWiki:Common.js:修订间差异
| 第1行: | 第1行: | ||
// 修复编辑取消后的死循环问题 | |||
mw.hook('wikipage.content').add(function() { | |||
// 监听 URL 变化 | |||
let lastUrl = location.href; | |||
const checkUrl = function() { | |||
const currentUrl = location.href; | |||
if (currentUrl !== lastUrl) { | |||
lastUrl = currentUrl; | |||
// 如果 URL 是 /edit 结尾,但页面上没有编辑器(即取消了编辑) | |||
if (currentUrl.match(/\/edit$/) && !document.querySelector('.ve-init-mw-desktopArticleTarget-originalContent')) { | |||
// 强制跳转到普通浏览页面 | |||
const viewUrl = currentUrl.replace(/\/edit$/, ''); | |||
if (viewUrl !== currentUrl) { | |||
history.replaceState(null, '', viewUrl); | |||
} | |||
} | |||
} | |||
}; | |||
// 每 500ms 检查一次 URL 状态 | |||
setInterval(checkUrl, 500); | |||
}); | |||