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)