用户:Ztm0929/common.js
外观
注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5。
mw.loader.using(['jquery']).then(function () {
function focusSearch() {
// 常见搜索输入选择器:不同皮肤都尽量兼容
var $input = $('#searchInput, input[name="search"], .vector-search-box-input').filter(':visible').first();
if ($input.length) {
$input.trigger('focus')[0].select();
return true;
}
// 若搜索输入未见:尝试点击“放大镜/搜索开关”,再聚焦
var $toggle = $(
// Vector 2022 / 其他皮肤常见按钮(尽量广覆盖)
'button[aria-controls*="search"], [data-action="search"], .vector-header .mw-ui-icon-search, .citizen-search-toggle, .mw-searchToggle, .search-toggle'
).filter(':visible').first();
if ($toggle.length) {
$toggle.trigger('click');
setTimeout(function () {
var $input2 = $('#searchInput, input[name="search"], .vector-search-box-input').filter(':visible').first();
if ($input2.length) {
$input2.trigger('focus')[0].select();
}
}, 50);
return true;
}
return false;
}
$(document).on('keydown', function (e) {
// 在输入框/编辑区里就不要拦截
var $t = $(e.target);
if ($t.is(':input, [contenteditable], [role="textbox"]')) return;
if (e.ctrlKey || e.altKey || e.metaKey) return;
// 捕获“/”键。兼容不同浏览器/键盘布局
if (e.key === '/' || e.code === 'Slash' || e.keyCode === 191) {
e.preventDefault(); // 阻止浏览器把“/”打到页面或触发 FF 的快速查找
focusSearch();
}
});
});