MediaWiki talk:Common.js/edit.js

message: 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)
replies: text: 直接换我在客栈提的了，好像没人说有意见……Liangent（留言） 2012年10月5日 (五) 18:24 (UTC)
thread_title:  修改建议 

message: 此JavaScript頁面也沒有做好在地化。「-{工具欄}-」、「-{主題欄}-」、「-{客戶端}-」、「-{軟件}-」、「-{文本框}-」、「-{界面}-」。-- By LNDDYL.（留言） 2014年11月12日 (三) 07:07 (UTC)
replies: text: 。—Chiefwei（论 - [ 编] - 历） 2014年11月12日 (三) 07:40 (UTC)
replies: text: :记得改状态……--广雅 范★  2014年11月12日 (三) 09:26 (UTC)
thread_title:  請求修改頁面 

message: 问题已解决。--Air7538(留言) 2020年4月21日 (二) 07:27 (UTC)
replies: text: 下列討論已經關閉，請勿修改。如有任何意見，請至合適的討論頁進行，並不要再次編輯本討論。
----
之前好像在tg问过这个问题，然后推荐我反馈bug，然后我在此处反馈了，得到wmf的答复是“這是由於中文Wikipedia上的自定義系統消息錯誤導致的”，所以请问一下，谁接触这块能否帮忙修一下啦（详细请看那边的topic）--Air7538(留言) 2020年4月6日 (一) 23:35 (UTC)

text: 应该是没对2017版编辑器做专门优化---{百無一用是書生}- (☎) 2020年4月7日 (二) 06:44 (UTC)
* 需要修改MediaWiki:Common.js/edit.js，将“强制预览”前面那一小块代码
本版本不管用，实际版本参见Special:Diff/59137341、Special:Permalink/59137326
(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)

text: “發佈更改”按钮不會在頁面載入時就存在，所以這個修正沒有解決問題。--Xiplus#Talk 2020年4月8日 (三) 02:42 (UTC)
replies: text: :@-{Xiplus}-：上面代码已修改。--高文海（留言） 2020年4月8日 (三) 03:20 (UTC)
replies: text: ::已部署。--Xiplus#Talk 2020年4月8日 (三) 10:19 (UTC)
replies: text: :::所以，是问题修复了嘛？但我好像还是不好使。--Air7538(留言) 2020年4月8日 (三) 11:11 (UTC)
replies: text: ::::附带一提，这个是否移动到小工具比较好？---{百無一用是書生}- (☎) 2020年4月8日 (三) 11:57 (UTC)
replies: text: :::::有什麼差別嗎？--Xiplus#Talk 2020年4月8日 (三) 12:57 (UTC)

text: :::: 我試了下，問題並沒有修復。—— Eric Liu（留言．留名．學生會） 2020年4月9日 (四) 00:35 (UTC)
replies: text: ::::: 从我几天前发现这个编辑器开始，问题就存在着。我试图去MW反馈问题，但是我在MW没有IPBE。另外，现在仍然不好使。--🍀 CLOVER YAN (^_^) 2020年4月9日 (四) 00:51 (UTC)签名真麻烦，懒得切中文英文，结果还要点两下，「插入」——「您的签名」，还不带「--」。

text: ::::@-{Xiplus}-：做成小工具可以用户选择是否关闭这个功能，技术上也便于管理维护---{百無一用是書生}- (☎) 2020年4月9日 (四) 02:38 (UTC)
replies: text: :::::Shizhao這個功能似乎不應該允許關閉。--Xiplus#Talk 2020年4月9日 (四) 02:42 (UTC)
replies: text: ::::::Xiplus不明白为何不能关闭？---{百無一用是書生}- (☎) 2020年4月9日 (四) 02:48 (UTC)
replies: text: :::::::Shizhao關閉的話就會出現如上方報告類似於Bug的情況，點擊連結會開啟新分頁。--Xiplus#Talk 2020年4月9日 (四) 02:51 (UTC)
replies: text: ::::::::Xiplus编辑冲突了....我明白你的意思了。我说的移动大概也包括了重构这部分代码的问题....---{百無一用是書生}- (☎) 2020年4月9日 (四) 02:56 (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)
----

text: 本討論已經關閉，請勿修改。如有任何意見，請至合適的討論頁進行，並不要再次編輯本討論。
thread_title:  关于2017版编辑器 快捷编辑摘要 点击后新打开标签页的问题 

message: 说是MediaWiki:Common.js/edit.js中的问题导致了这个错误？---{百無一用是書生}- (☎) 2020年5月12日 (二) 03:01 (UTC)
replies: text: 確實如此， 已修复。--Xiplus#Talk 2020年5月12日 (二) 03:16 (UTC)
replies: text: :删掉不会造成其他问题吗？---{百無一用是書生}- (☎) 2020年5月12日 (二) 03:23 (UTC)
replies: text: ::已檢查沒有其他地方使用。--Xiplus#Talk 2020年5月12日 (二) 03:43 (UTC)
thread_title:  [[phab:T252421]] 

message: 根据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)
thread_title: 編輯請求 2021-06-30

message: 重写了一下 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)
replies: text: 說實話這種東西不管做成怎樣用一個特殊的url就逃得過去了（（（-- Sunny00217  2021年6月19日 (六) 08:09 (UTC)

text: 看起來前提是有安裝Twinkle?--Kanashimi（留言） 2021年6月19日 (六) 12:38 (UTC)

text: 代码做了些调整，有问题请留言。--Lt2818（留言） 2021年6月19日 (六) 16:51 (UTC)
replies: text: :@-{Lt2818}-：：我看了一下，好像无论是原有代码还是上方代码，点击“显示更改”都会启用提交按钮，好像不是预期行为，貌似要大改……--Tranve (✉) 2021年6月20日 (日) 07:57 (UTC)
replies: text: ::那可以加一個只有取消預設行為函式？-- Sunny00217  2021年6月20日 (日) 09:58 (UTC)

text: ::这是合理的，用户可以选择查看更改。比如在大页面中改了错别字，预览要花很多时间，此时查看更改更为合适。--Lt2818（留言） 2021年6月20日 (日) 14:33 (UTC)

text: 参考下面Tranve的新版本再次做些调整。根据文档，事件触发时editForm可能尚未加进DOM树，只能用find办法获取其中元素。--Lt2818（留言） 2021年6月20日 (日) 18:14 (UTC)

text: 做些调整。改动：一、补充注释；二、根据 MediaWiki 的 ESLint rule 调整代码风格。--Tranve (✉) 2021年6月23日 (三) 12:32 (UTC)
与 Lt2818 讨论后，弃用折叠内容中的版本，改为使用上文提及的版本。--Tranve (✉) 2021年6月21日 (一) 11:45 (UTC)
----
受到 Lt2818 修改的代码的启发，设计了一个新版本，代码位于 Tranve/public/ForcePreview.js。
相比以前版本，使用 sessionStorage 判断是否已经预览，比之前版本更加精确，同时让新用户更加头疼。[開玩笑的]
以上。--Tranve (✉) 2021年6月20日 (日) 12:48 (UTC)

text: 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)

text: 见以上留言，我认为现行代码的行为符合预期。--Lt2818（留言） 2021年6月20日 (日) 14:35 (UTC)
----
以上代码 公示7日，2021年6月30日 (三) 12:36 (UTC) 結束，到期即提请编辑请求。--Tranve (✉) 2021年6月23日 (三) 12:36 (UTC)

text: 已提交请求。--Tranve (✉) 2021年6月30日 (三) 23:36 (UTC)
replies: text: :完成。--安忆Talk 2021年7月1日 (四) 00:13 (UTC)
thread_title:  优化[[MediaWiki:Common.js/edit.js#L-104|强制预览]]代码 

message: Wikipedia:互助客栈/技术/存档/2023年11月#Edit.js_兩項修改提案，把这个问题给赶紧处理了吧，拖延很久了。输入一遍又一遍的验证码，真的很烦啊！（而且头一遍输入的验证码是没用的。）--93.95.230.142（留言） 2023年12月22日 (五) 02:36 (UTC)
replies: text: @SunAfterRain，你修订的那个js是否可用？---{百無一用是書生}- (☎) 2024年4月9日 (二) 03:24 (UTC)
replies: text: :我自己試Special:PermanentLink/79652411#L-108是有效果的就是--SunAfterRain 2024年4月10日 (三) 11:00 (UTC)
replies: text: ::话说这部分代码能否做成单独的小工具，默认启用？---{百無一用是書生}- (☎) 2024年4月10日 (三) 13:06 (UTC)
thread_title:  編輯請求 2023-12-22