MediaWiki讨论:Common.js/edit.js
修改建议
[编辑]{{editprotected}}
jQuery('#wpSummary').val(jQuery.trim(jQuery('#wpSummary').val()) + ' ' + jQuery(this).val()); 替换为 jQuery('#wpSummary').val(jQuery.trim(jQuery.trim(jQuery('#wpSummary').val()) + ' ' + jQuery(this).val()));
避免只点击一次项目时编辑摘要开头会多一个空格--YFdyh000 2012年10月4日 (四) 07:04 (UTC)
- 直接换我在客栈提的了,好像没人说有意见……Liangent(留言) 2012年10月5日 (五) 18:24 (UTC)
请求修改页面
[编辑]请求已处理
@Chiefwei:此JavaScript页面也没有做好在地化。“工具欄”、“主題欄”、“客戶端”、“軟件”、“文本框”、“界面”。-- By LNDDYL.(留言) 2014年11月12日 (三) 07:07 (UTC)
- 完成。—Chiefwei(论 - 编 - 历) 2014年11月12日 (三) 07:40 (UTC)
- 记得改状态……--广雅 范★ 2014年11月12日 (三) 09:26 (UTC)
关于2017版编辑器 快捷编辑摘要 点击后新打开标签页的问题
[编辑]问题已解决。--Air7538(留言) 2020年4月21日 (二) 07:27 (UTC)
- 下列讨论已经关闭,请勿修改。如有任何意见,请至合适的讨论页进行,并不要再次编辑本讨论。
之前好像在tg问过这个问题,然后推荐我反馈bug,然后我在此处反馈了,得到wmf的答复是“这是由于中文Wikipedia上的自定义系统消息错误导致的”,所以请问一下,谁接触这块能否帮忙修一下啦(详细请看那边的topic)--Air7538(留言) 2020年4月6日 (一) 23:35 (UTC)
- 应该是没对2017版编辑器做专门优化--百無一用是書生 (☎) 2020年4月7日 (二) 06:44 (UTC)
- 需要修改MediaWiki:Common.js/edit.js,将“强制预览”前面那一小块代码
(function($, mw) {
$(function() {
$('#wpSummaryLabel .mw-summary-preset').on('click', '.mw-summary-preset-item a', function(e) {
e.preventDefault();
var $this = $(this), summary = $('#wpSummary').val();
var $item = $this.parent('.mw-summary-preset-item');
summary = summary.replace(/\s+$/g, '');
if (summary != '') {
summary += ' ';
}
summary += $item.attr('title') || $this.text();
$this.replaceWith($this.contents());
$('#wpSummary').val(summary);
});
});
})(jQuery, mediaWiki);
替换成
$(function () {
var insertSummary = function ($this, $summary) {
var summary = $summary.val();
var $item = $this.parent('.mw-summary-preset-item');
summary = summary.replace(/\s+$/g, '');
if (summary != '') {
summary += ' ';
}
summary += $item.attr('title') || $this.text();
$this.replaceWith($this.contents());
$summary.val(summary).change();
};
// 传统编辑器
$('#wpSummaryLabel .mw-summary-preset').on('click', '.mw-summary-preset-item a', function(e) {
e.preventDefault();
insertSummary($(this), $('#wpSummary'));
});
// VE / 新维基文本
var initSummary = false;
mw.loader.using('ext.visualEditor.desktopArticleTarget.init', function () {
mw.hook('ve.saveDialog.stateChanged').add(function () {
// 编辑摘要链接在点击“发布更改”按钮之后才会加载
if (!initSummary) {
$('div.ve-ui-mwSaveDialog-summaryLabel span.mw-summary-preset-item > a')
.removeAttr('target')
.click(function (e) {
e.preventDefault();
insertSummary($(this), $('div.ve-ui-mwSaveDialog-summary > textarea'))
});
initSummary = true;
}
});
});
});
其他几个中文计划也需要排查一下类似代码,同步调整。--高文海(留言) 2020年4月7日 (二) 14:26 (UTC)
- 感觉好复杂,另外想问一下,关于 common.js 中用户小工具的设计在哪里有入门可以看?--Air7538(留言) 2020年4月7日 (二) 14:42 (UTC)
- “发布更改”按钮不会在页面载入时就存在,所以这个修正没有解决问题。--Xiplus#Talk 2020年4月8日 (三) 02:42 (UTC)
- @Xiplus:上面代码已修改。--高文海(留言) 2020年4月8日 (三) 03:20 (UTC)
- 已部署。--Xiplus#Talk 2020年4月8日 (三) 10:19 (UTC)
- 所以,是问题修复了嘛?但我好像还是不好使。--Air7538(留言) 2020年4月8日 (三) 11:11 (UTC)
- 附带一提,这个是否移动到小工具比较好?--百無一用是書生 (☎) 2020年4月8日 (三) 11:57 (UTC)
- 有什么差别吗?--Xiplus#Talk 2020年4月8日 (三) 12:57 (UTC)
- 我试了下,问题并没有修复。—— Eric Liu(留言.留名.学生会) 2020年4月9日 (四) 00:35 (UTC)
- 从我几天前发现这个编辑器开始,问题就存在着。我试图去MW反馈问题,但是我在MW没有IPBE。另外,现在仍然不好使。--🍀 CLOVER YAN (^_^) 2020年4月9日 (四) 00:51 (UTC)签名真麻烦,懒得切中文英文,结果还要点两下,“插入”——“您的签名”,还不带“--”。
- 附带一提,这个是否移动到小工具比较好?--百無一用是書生 (☎) 2020年4月8日 (三) 11:57 (UTC)
- 所以,是问题修复了嘛?但我好像还是不好使。--Air7538(留言) 2020年4月8日 (三) 11:11 (UTC)
- 已部署。--Xiplus#Talk 2020年4月8日 (三) 10:19 (UTC)
- @Xiplus:上面代码已修改。--高文海(留言) 2020年4月8日 (三) 03:20 (UTC)
- @Xiplus:做成小工具可以用户选择是否关闭这个功能,技术上也便于管理维护--百無一用是書生 (☎) 2020年4月9日 (四) 02:38 (UTC)
- Xiplus#Talk 2020年4月9日 (四) 02:42 (UTC)
- 百無一用是書生 (☎) 2020年4月9日 (四) 02:48 (UTC)
- Xiplus#Talk 2020年4月9日 (四) 02:51 (UTC)
- 百無一用是書生 (☎) 2020年4月9日 (四) 02:56 (UTC) 编辑冲突了....我明白你的意思了。我说的移动大概也包括了重构这部分代码的问题....--
关闭的话就会出现如上方报告类似于Bug的情况,点击连结会开启新分页。--
不明白为何不能关闭?-- - Xiplus#Talk 2020年4月9日 (四) 02:51 (UTC)
这个功能似乎不应该允许关闭。-- - 百無一用是書生 (☎) 2020年4月9日 (四) 02:48 (UTC)
- Xiplus#Talk 2020年4月9日 (四) 02:42 (UTC)
- @Xiplus:做成小工具可以用户选择是否关闭这个功能,技术上也便于管理维护--百無一用是書生 (☎) 2020年4月9日 (四) 02:38 (UTC)
- 关于修改后仍未生效的问题,Xiplus应该已经找到了原因,参见此处。用一句话概括,就是我修改的地方不正确,在通常情况下代码不会自动运行。--高文海(留言) 2020年4月9日 (四) 11:42 (UTC)
- @高文海:我已经知道问题所在,但我还尚未修好,希望您能协助。--Xiplus#Talk 2020年4月9日 (四) 12:27 (UTC)
- @Air7538、Ericliu1912、Clover Yan:这次我们在测试站多做了一些测试,应该可以了。--高文海(留言) 2020年4月13日 (一) 03:28 (UTC)
- 好了,谢谢你们!--Air7538(留言) 2020年4月13日 (一) 04:17 (UTC)
- 确实可以了,感谢贡献!—— Eric Liu(留言.留名.学生会) 2020年4月13日 (一) 05:37 (UTC)
- OK了!--🍀 CLOVER YAN (^_^) 2020年4月13日 (一) 13:18 (UTC)
- 本讨论已经关闭,请勿修改。如有任何意见,请至合适的讨论页进行,并不要再次编辑本讨论。
说是MediaWiki:Common.js/edit.js中的问题导致了这个错误?--百無一用是書生 (☎) 2020年5月12日 (二) 03:01 (UTC)
- 确实如此, 已修复。--Xiplus#Talk 2020年5月12日 (二) 03:16 (UTC)
- 删掉不会造成其他问题吗?--百無一用是書生 (☎) 2020年5月12日 (二) 03:23 (UTC)
- 已检查没有其他地方使用。--Xiplus#Talk 2020年5月12日 (二) 03:43 (UTC)
- 删掉不会造成其他问题吗?--百無一用是書生 (☎) 2020年5月12日 (二) 03:23 (UTC)
编辑请求 2021-06-30
[编辑]请求已处理。--安忆Talk 2021年7月1日 (四) 00:12 (UTC)
根据Wikipedia:互助客栈/技术#优化强制预览代码公示结果,请求将第108行至第148行替换为以下内容:
/**
* -------------------------------------------------------------------------------
* Force Preview JavaScript code - Start
*
* For MediaWiki >= 1.23
*
* To allow any group to bypass being forced to preview,
* enter the group name in the permittedGroups array.
* E.g.
* var permittedGroups = []; // force everyone
* var permittedGroups = [ 'user' ]; // permit logged-in users
* var permittedGroups = [ 'sysop', 'bureaucrat' ]; // permit sysop, bureaucrat
* -------------------------------------------------------------------------------
*/
( function () {
var permittedGroups = [ 'confirmed', 'autoconfirmed' ];
if (
mw.config.get( 'wgAction' ) !== 'edit' ||
permittedGroups.some( function ( val ) {
return mw.config.get( 'wgUserGroups' ).indexOf( val ) > -1;
} )
) {
return;
}
mw.loader.using( 'oojs-ui-core', function () {
var originalLabel;
mw.hook( 'wikipage.editform' ).add( function ( $editForm ) {
var saveButton;
try {
saveButton = OO.ui.infuse( $editForm.find( '#wpSaveWidget' ) );
} catch ( e ) {
return;
}
if ( !$( '#wikiPreview, #wikiDiff' ).is( ':visible' ) ) {
if ( saveButton.isDisabled() ) {
return;
}
if ( originalLabel === undefined ) {
originalLabel = saveButton.getLabel();
}
saveButton.setDisabled( true ).setLabel( originalLabel + wgULS( '(请先预览)', '(請先預覽)' ) );
}
else if ( originalLabel !== undefined ) {
saveButton.setLabel( originalLabel ).setDisabled( false );
}
} );
} );
}() );
/**
* -----------------------------------------------------
* Force Preview JavaScript code - End
* -----------------------------------------------------
*/
--Tranve (✉) 2021年6月30日 (三) 23:34 (UTC)
重写了一下 Force Preview(强制预览)的代码,改进如下:
- 支持即时预览
- 使用 OOUI 内建 method 调整和禁用按钮,有更好的兼容性
代码如下:
/**
* -------------------------------------------------------------------------------
* Force Preview JavaScript code - Start
*
* For MediaWiki >= 1.23
*
* To allow any group to bypass being forced to preview,
* enter the group name in the permittedGroups array.
* E.g.
* var permittedGroups = []; // force everyone
* var permittedGroups = [ 'user' ]; // permit logged-in users
* var permittedGroups = [ 'sysop', 'bureaucrat' ]; // permit sysop, bureaucrat
* -------------------------------------------------------------------------------
*/
( function () {
var permittedGroups = [ 'confirmed', 'autoconfirmed' ];
if (
mw.config.get( 'wgAction' ) !== 'edit' ||
permittedGroups.some( function ( val ) {
return mw.config.get( 'wgUserGroups' ).indexOf( val ) > -1;
} )
) {
return;
}
mw.loader.using( 'oojs-ui-core', function () {
var originalLabel;
mw.hook( 'wikipage.editform' ).add( function ( $editForm ) {
var saveButton;
try {
saveButton = OO.ui.infuse( $editForm.find( '#wpSaveWidget' ) );
} catch ( e ) {
return;
}
// eslint-disable-next-line no-jquery/no-sizzle
if ( !$( '#wikiPreview, #wikiDiff' ).is( ':visible' ) ) {
if ( saveButton.isDisabled() ) {
return;
}
if ( originalLabel === undefined ) {
originalLabel = saveButton.getLabel();
}
saveButton.setDisabled( true ).setLabel( originalLabel + wgULS( '(请先预览)', '(請先預覽)' ) );
}
else if ( originalLabel !== undefined ) {
saveButton.setLabel( originalLabel ).setDisabled( false );
}
} );
} );
}() );
/**
* -----------------------------------------------------
* Force Preview JavaScript code - End
* -----------------------------------------------------
*/
显示上没有任何变化。如果无异议将提请更换。
以上。--Tranve (✉) 2021年6月19日 (六) 04:42 (UTC)
- 说实话这种东西不管做成怎样用一个特殊的url就逃得过去了(((-- Sunny00217 2021年6月19日 (六) 08:09 (UTC)
- 看起来前提是有安装Twinkle?--Kanashimi(留言) 2021年6月19日 (六) 12:38 (UTC)
- 代码做了些调整,有问题请留言。--Lt2818(留言) 2021年6月19日 (六) 16:51 (UTC)
- @Lt2818::我看了一下,好像无论是原有代码还是上方代码,点击“显示更改”都会启用提交按钮,好像不是预期行为,貌似要大改……--Tranve (✉) 2021年6月20日 (日) 07:57 (UTC)
- 那可以加一个只有取消预设行为函式?-- Sunny00217 2021年6月20日 (日) 09:58 (UTC)
- 这是合理的,用户可以选择查看更改。比如在大页面中改了错别字,预览要花很多时间,此时查看更改更为合适。--Lt2818(留言) 2021年6月20日 (日) 14:33 (UTC)
- @Lt2818::我看了一下,好像无论是原有代码还是上方代码,点击“显示更改”都会启用提交按钮,好像不是预期行为,貌似要大改……--Tranve (✉) 2021年6月20日 (日) 07:57 (UTC)
- 参考下面Tranve的新版本再次做些调整。根据文档,事件触发时editForm可能尚未加进DOM树,只能用find办法获取其中元素。--Lt2818(留言) 2021年6月20日 (日) 18:14 (UTC)
- 做些调整。改动:一、补充注释;二、根据 MediaWiki 的 ESLint rule 调整代码风格。--Tranve (✉) 2021年6月23日 (三) 12:32 (UTC)
受到 Lt2818 修改的代码的启发,设计了一个新版本,代码位于 Tranve/public/ForcePreview.js。
相比以前版本,使用 sessionStorage 判断是否已经预览,比之前版本更加精确,同时让新用户更加头疼。[开玩笑的]
以上。--Tranve (✉) 2021年6月20日 (日) 12:48 (UTC)
- https://doc.wikimedia.org/mediawiki-core/master/js/#!/api/mw.storage.session , this normalises differences across browsers and silences any and all exceptions that may occur.--安忆Talk 2021年6月20日 (日) 13:09 (UTC)
- 见以上留言,我认为现行代码的行为符合预期。--Lt2818(留言) 2021年6月20日 (日) 14:35 (UTC)
以上代码 公示7日,2021年6月30日 (三) 12:36 (UTC) 结束,到期即提请编辑请求。--Tranve (✉) 2021年6月23日 (三) 12:36 (UTC)
- 已提交请求。--Tranve (✉) 2021年6月30日 (三) 23:36 (UTC)
编辑请求 2023-12-22
[编辑]
正在请求他人代为编辑受保护的页面(编辑:仅限界面管理员;移动:仅限界面管理员(保护日志)) 注意:本模板不是用于请求开放页面给予编辑,相关请求请至请求解除保护页申请;本模板是用于请求可以编辑的用户帮忙修改内容。 请求时请列明理由及内容,对于模板、模块、MediaWiki命名空间的修改请求,请阅读相关方针。(工具:处理) 如果您想直接展示给管理员修改后的页面及清楚地列出编辑差异,请将本模板改为 {{Editprotected|patch=}} ,点击“显示预览”并按照提示进一步操作。 |
Wikipedia:互助客栈/技术/存档/2023年11月#Edit.js_两项修改提案,把这个问题给赶紧处理了吧,拖延很久了。输入一遍又一遍的验证码,真的很烦啊!(而且头一遍输入的验证码是没用的。)--93.95.230.142(留言) 2023年12月22日 (五) 02:36 (UTC)
- @SunAfterRain,你修订的那个js是否可用?--百無一用是書生 (☎) 2024年4月9日 (二) 03:24 (UTC)
- @Shizhao:我自己试Special:PermanentLink/79652411#L-108是有效果的就是--SunAfterRain 2024年4月10日 (三) 11:00 (UTC)
- 话说这部分代码能否做成单独的小工具,默认启用?--百無一用是書生 (☎) 2024年4月10日 (三) 13:06 (UTC)
- @Shizhao:我自己试Special:PermanentLink/79652411#L-108是有效果的就是--SunAfterRain 2024年4月10日 (三) 11:00 (UTC)
- @Shizhao、SunAfterRain:此请求是否有可能推进?—— Eric Liu 創造は生命(留言・留名・学生会) 2024年6月16日 (日) 15:25 (UTC)