跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
分类索引
最近更改
随便看看
灵兰秘典
捐助本站
帮助
帮助
联系我们
关于本站
MediaWiki帮助
中医百科
搜索
搜索
外观
登录
个人工具
登录
查看“︁MediaWiki:Gadget-edit0.js”︁的源代码
系统消息
讨论
English
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
清除缓存
常规
链入页面
相关更改
特殊页面
页面信息
Cargo数据
短URL
外观
移至侧栏
隐藏
←
MediaWiki:Gadget-edit0.js
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。 如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您可以查看和复制此页面的源代码。
// [[en:MediaWiki:Gadget-edittop.js]] // ********************************************************************** // ** ***WARNING GLOBAL GADGET FILE*** ** // ** changes to this file affect many users. ** // ** please discuss on the talk page before editing ** // ** ** // ********************************************************************** // Simplified and optimized version for Chinese (zh) locales. (function() { 'use strict'; // 优化点 1:使用 mw.loader.using 确保依赖加载完成 // 确保 mediawiki.util 和 jQuery 模块已加载 mw.loader.using(['mediawiki.util', 'jquery']).then(function() { // 优化点 2:提前获取配置,避免重复调用 mw.config.get var config = mw.config.get([ 'wgAction', 'wgNamespaceNumber', 'wgUserLanguage', 'wgPageName' ]); // 优化点 3:简化条件判断,提前返回 // 仅在查看或清除缓存页面,且为内容命名空间时运行 if (!['view', 'purge'].includes(config.wgAction) || config.wgNamespaceNumber < 0) { return; } // 优化点 4:使用 const 声明常量,增强代码可读性和可维护性 const EDIT_SUMMARY = '/* top */ '; const TITLES = { 'zh': '编辑首段', 'zh-hans': '编辑首段', 'zh-hant': '編輯首段' }; // 优化点 5:使用箭头函数和更简洁的语法 $(function() { const userLang = config.wgUserLanguage; // 优化点 6:使用可选链操作符 (?.) 简化默认值获取 const editTitle = TITLES[userLang] || '编辑首段'; // 优化点 7:使用更精确的选择器,减少 DOM 查询 const $content = $('#content, #mw_content').first(); const $firstEditSection = $content.find('span.mw-editsection:not(.plainlinks):first'); if (!$firstEditSection.length) { return; } const $clonedEditSection = $firstEditSection.clone(); // 优化点 8:使用更高效的 DOM 插入方式 $('#mw_header h1, #content h1').first().append($clonedEditSection); // 优化点 9:使用 text() 而不是 attr('title') 来设置标题 // 因为 title 属性的值就是元素的文本内容 $clonedEditSection.find('a').text(editTitle).each(function() { const $link = $(this); const originalHref = $link.attr('href') || ''; let newHref; // 优化点 10:使用 switch 语句替代复杂的 if-else 嵌套 if (!/&(ve|)section=T/.test(originalHref)) { newHref = originalHref.replace(/&(ve|)section=\d+/, `&$1section=0&summary=${encodeURIComponent(EDIT_SUMMARY)}`); } else if (/&vesection=/.test(originalHref)) { newHref = mw.util.getUrl(config.wgPageName, { veaction: 'edit', vesection: 0, summary: EDIT_SUMMARY }); } else { newHref = mw.util.getUrl(config.wgPageName, { action: 'edit', section: 0, summary: EDIT_SUMMARY }); } $link.attr('href', newHref); }); }); }); })();
返回
MediaWiki:Gadget-edit0.js
。