跳至內容

維基百科:互助客棧/技術/存檔/2022年3月

維基百科,自由的百科全書


站外分享與收藏

捷徑無法使用

關於Cat-a-lot

Template:Cite AV media

模板:Infobox royalty

T:Infobox royalty中的「full name」欄位異常,參閱喬治王子 (劍橋),在「全名」欄位多了一個換行,格式也沒有對齊。--CaryCheng留言2022年3月7日 (一) 07:59 (UTC)

好像這個模板就是這麼設計的?--Tim Wu留言2022年3月7日 (一) 08:33 (UTC)
了解,感謝。--CaryCheng留言2022年3月7日 (一) 15:39 (UTC)

mw-add(remove)-media

這兩個標籤1.37起就默認禁用了,但本站歷史上大量使用本標籤,禁用後編輯摘要里就只能顯示比較不具有描述性的tag-mw-add-mediatag-mw-remove-media。可否本地強制創建對應的界面信息?-- Stang 2022年3月4日 (五) 12:07 (UTC)

應該去phab:T286362報告吧?這不是單一站點的問題。--Xiplus#Talk 2022年3月4日 (五) 12:54 (UTC)
兩個標籤已從所有編輯移除,結果根本不是需要本地擔心的事情嘛。--Xiplus#Talk 2022年3月7日 (一) 15:07 (UTC)
那挺好。 Stang 2022年3月7日 (一) 16:43 (UTC)

2022年3月7日 (一) 21:16 (UTC)

部分條目的標題顯示異常

P進數,現在網頁版顯示的是<i>p</i>进数 --Ember Edison 2022年3月9日 (三) 03:24 (UTC)

完成,改為使用DISPLAYTITLE魔術字即可正常顯示。--街燈電箱150號 開箱維修 抄錶 檢驗證明 2022年3月9日 (三) 11:32 (UTC)

使用2017編輯器時光標偏移

如題。在編輯文字時光標正常,但在編輯代碼高亮的模板部分時就會出現嚴重偏移(實際編輯的位置與光標顯示位置不一致),不清楚是否為設備或瀏覽器或Mediawiki的問題。--Yining Chen留言|簽名頁2022年3月9日 (三) 15:20 (UTC)

老問題了。--Bigbullfrog1996𓆏2022年3月9日 (三) 17:58 (UTC)

請求處理Module:Tlg的編輯請求

2022年2月28日 (一) 22:59 (UTC)

用於替換的系統內置box css樣式見這裡的測試案例:User:Shizhao/boxcss--百無一用是書生 () 2022年3月1日 (二) 03:02 (UTC)
有一些頁面使用[6]--百無一用是書生 () 2022年3月1日 (二) 03:05 (UTC)
ok。已經基本替換(除用戶空間外)--百無一用是書生 () 2022年3月1日 (二) 03:24 (UTC)
還有很多沒改啊。messagebox沒有對應的替代品似乎(如果從boxcss那個頁面來看)。 Stang 2022年3月2日 (三) 17:48 (UTC)
還有哪些啊?能舉幾個例子嗎?messagebox這個我深深懷疑是否是個bug?完全和其他幾個不是一個風格.....--百無一用是書生 () 2022年3月4日 (五) 07:16 (UTC)
主要是messagebox吧(很多表格裡面有,不知道怎麼搞的),別的基本都解決了。 Stang 2022年3月7日 (一) 16:47 (UTC)
找到了[7],看起來不少啊--百無一用是書生 () 2022年3月8日 (二) 03:48 (UTC)
有的應該可以用mbox換掉(不過就比較費功夫了),實在不行暫時抄過來頂頂也不是不可以。 Stang 2022年3月9日 (三) 07:20 (UTC)
"Page not found"....--百無一用是書生 () 2022年3月10日 (四) 02:58 (UTC)

在使用翻譯器翻譯過程中發現一些英文模板缺失相應的中文版本

比如相當重要的參考文獻模板、一些人物模板之類的。

有沒有小夥伴想要一起研究一下把那部分英文模板轉成中文模板呢? --Georges Smiley留言2022年3月9日 (三) 03:26 (UTC)George Smiley

@Georges Smiley:給個列表出來,我去改改。--Ghren🐦🕖 2022年3月9日 (三) 11:01 (UTC)
目前發現問題最大的是,Template:reflist經常會顯示缺少該模板的相關信息,不知道究竟是因為模板不一樣還是因為別的什麼……
但是會把翻譯好的東西搞得一團糟。--Georges Smiley留言2022年3月10日 (四) 00:44 (UTC)
所以具體是什麼模板?reflist的英維和中維是完全一樣的。--Ghren🐦🕚 2022年3月10日 (四) 03:15 (UTC)

參考文獻提示工具的彈出框中跨語言鏈接小工具無法正常顯示

鼠標浮於在參考文獻提示工具的彈出框中的跨語言鏈接時,跨語言鏈接小工具的彈出框無法正常提示跨語言鏈接。——角色扮演對話留言2022年3月7日 (一) 08:27 (UTC)

@角色扮演對話 參數設置里8個跨語言鏈接的選項只選了1個?--Tim Wu留言2022年3月7日 (一) 08:32 (UTC)
@Tim Wu 是的,只選了「光標懸浮時顯示Tooltip(對於已存在頁面的情況下高亮表示)」。--角色扮演對話留言2022年3月8日 (二) 03:16 (UTC)

(※)注意 我剛剛在手機端(但是是桌面版視圖)測試過了,不是小工具無法正常顯示,而是跨語言鏈接小工具跨語言鏈接小工具會顯示在下面的參考資料欄里。草(中日雙語)

另外,這種問題的一個例子可以在條目矯枉過正的注釋「nb2」和「nb3」中找到。--角色扮演對話留言2022年3月10日 (四) 13:49 (UTC)

關於近期的新功能notpageimageT301588

命名空間

究竟Gadget和Gadget definition是什麼命名空間?一個頁面都沒有,卻不讓我們建立。Choi Chin Long 2022年3月12日 (六) 11:35 (UTC)

小工具吧。--在下荷花請多指教歡迎簽到2022年3月12日 (六) 12:35 (UTC)
就是小工具(mw:Extension:Gadgets)用的命名空間,但基金會項目不用這個命名空間來部署小工具。——Sakamotosan路過圍觀 | 避免做作,免敬 2022年3月13日 (日) 02:43 (UTC)

Abuse filters that need to be optimized

Hello, and apologies for writing in English! While I was investigating an AbuseFilter issue (T303059), I noticed in the MediaWiki logs that a some filters here on the Chinese Wikipedia need to be improved. In particular:

  • Filter 340 often fails to run because the regex has horrible performance and the PHP regex engine kills it. I'd suggest replacing every "match-all dot" with something more specific that guarantees that the regex engine won't try to look ahead until the end of the page.
  • There are other filters that also use the match-all dot and sometimes the regex takes a long time to be checked, slowing the page save down by a few seconds. These are: 170, 201 (third regex), 214, 223, 245, 255, 261, 267. Sometimes, these will also fail to run.
  • In filter 294, I suggest reordering the conditions to check user_blocked last, because that can be expensive to compute.

I strongly suggest fixing those, because they can have a noticeable impact on performance. Also, the AbuseFilter has a limit of 1000 conditions that can be checked by all filters, and this limit is sometimes reached (see stats here). I suggest you to optimize the conditions used, or some filters will not be checked. Please feel free to ask me if you need any help, just make sure to ping me as I don't watch this page. Thank you, --Daimona Eaytoy留言2022年3月5日 (六) 17:49 (UTC)


概要:系統維護人員通知:防濫用過濾器340的性能慘不忍睹以至於經常不能在時間限制內執行完畢。其他性能差的還有170、201、214、223、245、255、261、267。另有對294提出建議。--MilkyDefer 2022年3月5日 (六) 19:00 (UTC)

Filter 340 is disabled now. Filter 294 (and 295 with same condition) are fixed.--Xiplus#Talk 2022年3月6日 (日) 03:55 (UTC)
Filter 201 is fixed. Replace .* with .{0,10}.--Xiplus#Talk 2022年3月6日 (日) 04:03 (UTC)
Filter 170 is fixed.--Xiplus#Talk 2022年3月13日 (日) 09:28 (UTC)

IABOT 故障 2022-03

機器人在BURNOUT SYNDROMES運行時出現錯誤,該錯誤已經出現過多次。--Q28留言2022年3月11日 (五) 15:19 (UTC)

@Q28請去提phab,此機器人不在本地維護。--在下荷花請多指教歡迎簽到2022年3月12日 (六) 12:34 (UTC)
雖然我不太明白什麼錯了,能詳細說說嗎?--在下荷花請多指教歡迎簽到2022年3月12日 (六) 12:37 (UTC)
存檔太舊了嗎?我重新存了一份並補到了機器人的域名配置里,我重新運行了一次,等等看看效果。--在下荷花請多指教歡迎簽到2022年3月13日 (日) 03:39 (UTC)
這是因為互聯網檔案館收錄了該條目的官方網站,於是機器人就會對這個鏈接掛wayback模板。但不知道為什麼,我們不需要這個模板,有人能解決我的這個(?)疑問嗎?--Q28留言2022年3月13日 (日) 06:42 (UTC)
@Q28這不是bug,IAbot的存檔範圍包括外部連結,這是為了防止萬一外部連結網站炸了讀者無法打開它。--在下荷花請多指教歡迎簽到2022年3月13日 (日) 06:45 (UTC)
但是為什麼現在當IABOT添加該官方網站的WAYBACK時,我們需要將其移除呢?--Q28留言2022年3月13日 (日) 07:09 (UTC)
@Q28為什麼要問我這個問題?--在下荷花請多指教歡迎簽到2022年3月13日 (日) 07:10 (UTC)
我沒懂,什麼是「但不知道為什麼,我們不需要這個模板」?這一句里的「我們」指誰?--在下荷花請多指教歡迎簽到2022年3月13日 (日) 07:12 (UTC)
我的意思是,你近期的編輯diff=70597044&oldid=70574363是什麼意思?為什麼iabot的編輯被你回退了?--Q28留言2022年3月13日 (日) 07:16 (UTC)
@Q28???我沒動這個頁面啊……這裡應該@Hijk910吧,一直是他在回退。--在下荷花請多指教歡迎簽到2022年3月13日 (日) 07:31 (UTC)

連結還沒死,不需要在外部連結一節顯示存檔給讀者。-hiJK910 走先喇 係咁先喇 下次再玩吖 2022年3月13日 (日) 10:33 (UTC)

@Hijk910然而即使沒死在外部連結顯示存檔也是慣常做法,就像一般在參考鏈接里加存檔一樣。--在下荷花請多指教歡迎簽到2022年3月13日 (日) 10:35 (UTC)
「參考資料」跟「外部連結」功能不一樣,不能混為一談。「參考資料」是給編者看的,「外部連結」是給讀者看的。參考資料還會加出版日期、閱覽日期等,但顯然外部連結並不用,因為外部連結不須滿足可供查證的需求。所謂慣常做法,也只是這個bot不懂分辨外部連結而已。-hiJK910 走先喇 係咁先喇 下次再玩吖 2022年3月13日 (日) 10:40 (UTC)
我認為這裡的存檔鏈接和搜索引擎的「網頁快照」功能相似,假設網頁臨時失效或其他問題時臨時訪問用。--在下荷花請多指教歡迎簽到2022年3月13日 (日) 10:56 (UTC)
就我個人的觀察,你口中的「臨時」幾乎不會發生。如果發生了,就那時候再加。-hiJK910 走先喇 係咁先喇 下次再玩吖 2022年3月13日 (日) 11:58 (UTC)
臨時嘛,就是那種很少發生的問題,再有就是防範網絡錯誤,我認為加上是沒問題的。(尋求其他人意見?)--在下荷花請多指教歡迎簽到2022年3月13日 (日) 12:03 (UTC)
我覺得就別加了。-hiJK910 走先喇 係咁先喇 下次再玩吖 2022年3月13日 (日) 12:21 (UTC)
支持加,但假如有編輯不希望加,似乎可以使用{{Cbignore}}模板叫機械人不要加。--留言2022年3月13日 (日) 13:22 (UTC)
原來有這玩意。-hiJK910 走先喇 係咁先喇 下次再玩吖 2022年3月13日 (日) 16:33 (UTC)
意見(▲)同上。—— Eric Liu 創造は生命(留言留名學生會 2022年3月13日 (日) 15:46 (UTC)

指標 (電腦科學)的目錄問題

2022年3月14日 (一) 22:07 (UTC)

路過解決了RFR申請頁排版問題

Survey: Help improve Kartographer

Apologies for writing in English. If anyone could help translating this message, it would be deeply appreciated.

Do you create interactive maps with Kartographer (mapframe)? If your answer is yes, we would like to hear from you. Please take part in the survey and help improve Kartographer!

Some background: Wikimedia Germany's Technical Wishes team is currently working on the Kartographer extension. Over the last few months, we have been working on a solution to make this software usable on wikis where it isn’t available yet. In the next phase of the project, we are planning to improve Kartographer itself.

Because Kartographer is used quite a lot on this wiki, we would like to ask you: Where do you run into problems using it? Which new features would you like to see? Editors of all experience levels and with all workflows around Kartographer are welcome to participate.

Here is the survey: https://wikimedia.sslsurvey.de/Kartographer-Workflows-EN/

  • The survey is open until March 31.
  • It takes 10-15 minutes to complete.
  • The survey is anonymous. You don't need to register, and we will not store any personal data which identifies you, such as your name or IP address.

Unfortunately, the survey is only available in English, but we have tried our best to use simple English and to add visual examples. If English is not your native language, it might help to use a translation tool in your browser.

More information on our work with Kartographer and the focus area of Geoinformation can be found on our project page.

Thank you for your help! – Johanna Strodt (WMDE) (talk) 2022年3月16日 (三) 13:14 (UTC)

移除Timeless主題下按鈕字體的陰影 2

2022年3月21日 (一) 16:00 (UTC)

請求處理Module:Tlg的編輯請求

找介管修一修吧

我在封禁期間發現了一些bug:

不能產生連結


封禁期間不能清除快取

Flow不能產生連結

找介管修一修吧。Choi Chin Long 2022年3月18日 (五) 05:38 (UTC)

第2點,應該是封鎖行為會限制所有的除豁免外的用戶操作,包括purge權限(可以查Special:群組權限)。1、3點可能是顯示消息時沒做源代碼解析處理。這都屬於mw開發的問題,去Phab:提報bug,不過點2可能找meta或者mw確認封鎖的操作阻止範圍。——Sakamotosan路過圍觀 | 避免做作,免敬 2022年3月18日 (五) 05:57 (UTC)
PS.點1為MediaWiki:Autoblockedtext,點3有點像MediaWiki:Blockedtext的en原文。具體說明自己找translatewiki來看。——Sakamotosan路過圍觀 | 避免做作,免敬 2022年3月18日 (五) 06:19 (UTC)
(~)補充MediaWiki:Autoblockedtext/enMediaWiki:Blockedtext/en。-- [雪菲🐉蛋糕🎂] >[娜娜奇🐰鮮果茶☕](☎️·☘️2022年3月18日 (五) 07:51 (UTC)
等一下,為什麼封禁用戶不能清除快取?Choi Chin Long 2022年3月18日 (五) 07:32 (UTC)
問mw開發人員或者meta的人。——Sakamotosan路過圍觀 | 避免做作,免敬 2022年3月18日 (五) 08:28 (UTC)
Cyron Choi,這是因為CVE-2021-35197(phab:T280226),防止行為不端的機器人利用清除快取的功能。--Q28留言2022年3月22日 (二) 14:37 (UTC)

Module:Adjacent stations

請問如果我要在Adjacent stations中一條路線使用兩種顏色,在Module:Adjacent stations/子頁面中應該怎樣寫?Choi Chin Long 歡迎簽名 2022年3月23日 (三) 13:03 (UTC)

為什麼要「Adjacent stations中一條路線使用兩種顏色?」----仁愛親誠Pavlov2 2022年3月23日 (三) 13:14 (UTC)
仙石東北線 Choi Chin Long 歡迎簽名 2022年3月23日 (三) 13:17 (UTC)

提議更換字體 並 加重二級標題

目前的字體在顯示數字時會有錯位:[18],且二級標題顯示過輕,

建議更換字體並加重二級標題的顯示。

PS:這是我個人寫的一種樣式,你可以在你的css頁中預覽它,僅供參考:

#firstHeading {
    font-family: sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    padding-bottom: 6px;
}
h2,
h3,
h4,
h5,
h6 {
    font-family: "roboto",sans-serif!important;
	color: #404040!important;
	line-height: 1.8!important;
	border-bottom-color: rgba(0, 0, 0, .1);
}

--850710247liu留言2022年3月24日 (四) 08:58 (UTC)

瀏覽器字體問題。標題的font-family是「'Linux Libertine','Georgia','Times',serif」,並且有先後順序。看了一下,應該是數字用了Georgia,非數字用了serif(這個是可以是瀏覽器決定的)。——Sakamotosan路過圍觀 | 避免做作,免敬 2022年3月24日 (四) 09:42 (UTC)
建議找mw開發討論解決,或者用用戶css解決。——Sakamotosan路過圍觀 | 避免做作,免敬 2022年3月24日 (四) 09:43 (UTC)
數字部分的Georgia字體是2014年有意選定的,風格如此。--Lt2818留言2022年3月24日 (四) 09:53 (UTC)
那不是錯位,是old style figure,是配合拉丁字母的視覺效果用的,也就你們這些用方塊字、字都不超過基線的人不習慣了。--Rowe Wilson Frederisk Holme留言2022年3月24日 (四) 10:51 (UTC)

在瀏覽過程中保留中文變體

參見 Help talk:中文維基百科的繁簡、地區詞處理#未登入情況下的預設值

目前如果使用者沒有登入、又無法從瀏覽器判斷他的偏好,中文維基會在每一個頁面皆預設為不轉換。然而假使某人已經在瀏覽某條目時選取了用字模式,應該可以合理推定這是他所偏好的用字模式。是否能考慮用 cookie(或 session cookie)來保存匿名使用者的用字模式,以免每點一個連結就需要重新設定?

我寫了個簡短的 JavaScript(User:Wctaiwan/rewritePathVariant.js)透過改寫連結網址來達到這個目標(如果當下的網址是/zh-tw/Foo,則把頁面上所有/wiki/Bar的連結都改寫成/zh-tw/Bar),自己測了一下效果還不錯。不知道社群對於把這個 script 放到 MediaWiki:Common.js 之類的地方(或包裝成預設開啟的小工具)有沒有什麼看法?

(另一個作法是試著在 MediaWiki 裡面直接解決,可是根據 phab:T223053 上的討論,因為各種共用快取的關係,這樣做的難度有點高。)wctaiwan留言2021年12月6日 (一) 12:14 (UTC)

如有可能,應在後端實現。通過前端腳本循環全部相關DOM節點並無差別替換將嚴重影響頁面性能。--安憶Talk 2021年12月6日 (一) 12:45 (UTC)
同意,我一開始也是試著在後端解決,但是發現這樣做會影響到 parser cache 的正確性。還有些其他可能可行的後端作法,可是應個都會更複雜,也會需要基金會的人員提供協助(參見 Phabricator 上的討論)。
還有一點我想特別強調的是這個 script 只有在網址包含變體的時候才會發生作用,所以理論上只會影響透過下拉選單手動選擇變體的使用者(以及點選包含變體連結的使用者)。兩害相權(效能 vs. 每點一個連結就跳回不轉換)的情況下,我覺得這可能還是值得。wctaiwan留言2021年12月6日 (一) 13:03 (UTC)
如果包含無效變體,會產生無效網址,如[19]。另已確定會破壞popups-- Sunny00217  2021年12月6日 (一) 13:14 (UTC)
變體是從網址中取得,所以應該不太需要擔心無效變體的情形吧?(要把 regex 改得嚴格一些也是可以,我只是覺得未必有必要)Popups 的部分看來問題是因為 Popups 假設連結都會符合 MediaWiki 裡$wgArticlePath的格式(原始碼:en:MediaWiki:Gadget-popups.js),稍微看一下我覺得要解決可能有點複雜... wctaiwan留言2021年12月6日 (一) 13:31 (UTC)
@AnYiLinSunny00217: 改了一下作法,變成在點選連結的時候才去改寫網址,這樣效能應該會好一點,也應該可以解決 Popups 失效的問題。wctaiwan留言

能不能請大家對這個提案多給點意見?這個對多數中港台使用者可能影響不大,可是像我自己手機的作業系統是英文的,不登入的話每次看中文維基都要一直切換變體,所以我真的還蠻希望可以解決這個問題的,謝謝。wctaiwan留言2021年12月10日 (五) 03:00 (UTC)

咱真的不能寫個cookie嗎?--Milky·Defer 2021年12月10日 (五) 14:55 (UTC)
如果不能純粹在JavaScript實現的話會有難度,因為必須要修改 Varnish 去用這個 cookie 去判定要回傳哪個變體的內容(詳見 [20]wctaiwan留言2021年12月11日 (六) 01:37 (UTC)
如果您使用的是Android操作系統,其實可以在系統的語言設置中添加其他語言,這樣瀏覽器發送的請求裡面應該就會有您偏好的多種語言及優先級。不清楚iOS的情況如何。--David Xuang (contact me) 2021年12月17日 (五) 11:05 (UTC)
比如我的手機設置的是zh-Hans-CN和en-GB,那麼Firefox發送請求時的Accept-Language頭是zh-CN,en-GB;q=0.5,Chrome則是zh-CN,zh;q=0.9,en-GB;q=0.8,en;q=0.7,這樣網站就會按照順序依次匹配可用的語言。--David Xuang (contact me) 2021年12月17日 (五) 11:12 (UTC)
就我所知 iOS / Safari 不支援這個,不過即使支援,我還是覺得如果可以不需要手動設定也能自動保留變體,對讀者會是比較好的體驗。改版過的JS只需要在點選連結的時候執行,效能應該不會是太大的問題。@AnYiLinSunny00217MilkyDefer:您們還有什麼其他意見嗎?wctaiwan留言2021年12月18日 (六) 07:06 (UTC)
代碼在該URL改壞鏈接。--Lt2818留言2021年12月18日 (六) 08:05 (UTC)
修好了。(把zh-\w+換成zh-(cn|hk|mo|my|sg|tw)wctaiwan留言2021年12月18日 (六) 08:31 (UTC)
Wctaiwan我會建議是如果網址變體和當前變體匹配再修改,如User:Sunny00217/rewritePathVariant.js的做法-- Sunny00217  2021年12月22日 (三) 15:22 (UTC)
感謝您的建議;已修改。(我剩下的部分還是保留我原本的做法,因為可以向下相容不支援 ES2015 的瀏覽器,而且可以支援在背景分頁開啟等情形,且因為只需要在 document 上加兩個 listener,頁面開啟時的效能影響應該比較小一點。)wctaiwan留言2021年12月23日 (四) 01:51 (UTC)

是否可以部署?

這個也討論一段時間了,大家提出來的問題我應該也都有所修正。想請問社群和管理員群對部署這個 script 有沒有什麼看法,有什麼其他缺失也麻煩繼續提出。wctaiwan留言2021年12月23日 (四) 01:51 (UTC)

現在提議的腳本是哪一份?--Xiplus#Talk 2022年1月11日 (二) 01:53 (UTC)
我都是直接改在User:Wctaiwan/rewritePathVariant.js,目前版本為 [21] wctaiwan留言2022年1月11日 (二) 03:42 (UTC)
如果破壞popups則反對。--桐生ここ[討論] 2022年1月11日 (二) 10:41 (UTC)
原本會影響 Popups 是因為原始版本是在頁面載入時直接改寫所有符合 regex 的連結,現在已經改成在點選當下改寫,所以這個問題已經得到改善。(已點選過連結的 Popups 還是會失效,不過這應該 99% 的人都不會被影響,畢竟都點開來看了...)wctaiwan留言2022年1月11日 (二) 11:20 (UTC)
是說,點一下href被改了所以才失效了吧,彈出新標籤頁也是默認行為。那就直接阻止默認行為,從href用window.open開個新窗口好了,不實際更改href。--安憶Talk 2022年1月11日 (二) 11:26 (UTC)
相對於直接改動window.location.href,我當初會選擇現行的做法是因為這樣可以保留瀏覽器原本的事件處理,不用手動處理以新分頁開啟等特例(也由此減低邊角案例出錯的機率)。不過如果您可以提出處理右鍵、中鍵開新分頁的具體方式,且經測試可以相容於主要的電腦及行動瀏覽器,我對現有的做法也沒有太強烈的偏好。wctaiwan留言2022年1月11日 (二) 15:28 (UTC)
$(document).mousedown(e=>console.log(e.button))?中鍵同左鍵用window.open,右鍵再實際改href。--安憶Talk 2022年1月12日 (三) 10:13 (UTC)

這裡的情況其實還蠻多種的:

  1. 一般左鍵或是觸控螢幕點選(應修改window.location.href
  2. 中鍵點選(應使用window.open
  3. 右鍵點選(端看點選右鍵後選擇的選項)
  4. ctrl/cmd+左鍵(應使用window.open
  5. 觸控螢幕長按(端看長按後選擇的選項)

感覺起來如果要全部正確處理會有點複雜,而且邊角案例可能還是會出錯。這樣處理的原因除了避免影響 Popups 還有什麼理由嗎?如果只是這樣的話,我會覺得現有方法可能還是利大於弊。wctaiwan留言2022年1月12日 (三) 14:11 (UTC)


如果加入,則建議以可開啟關閉的小工具方式。--桐生ここ[討論] 2022年1月11日 (二) 10:44 (UTC)
如果可以只針對匿名使用者部署我也覺得 OK,畢竟已登入的使用者可以透過修改個人設定解決這個問題。wctaiwan留言2022年1月11日 (二) 11:20 (UTC)
看上去應該改不壞什麼,所以不反對。--Milky·Defer 2022年1月11日 (二) 13:56 (UTC)
在只默認對未登錄用戶啟用的情況下支持,但仍然建議使用瀏覽器DevTools對性能進行一下對比測試(對沒有偏好的遊客是否有影響)。--David Xuang (contact me) 2022年1月12日 (三) 10:32 (UTC)
直接複製連結的部分應該就不用處理了,畢竟如果是要把連結傳去其他地方的話帶有變體並不好-- Sunny00217  2022年1月15日 (六) 08:55 (UTC)
這個要刻意排除有點難度。為了要完整處理上面提及的各種情況(尤其是以新分頁開啟),我現在的做法是在 mousedown(滑鼠按鈕按下去)或 touchstart(觸控螢幕接觸開始)時改寫連結。如果要避免複製的連結被改到,則必須區分按右鍵 -> 以新分頁開啟和按右鍵 -> 複製連結兩種情形。我甚至不太確定這能不能透過 JS 達成。有鑒於這只有在使用者手動選擇變體時才會有效果(如果 Accept-Language 標頭中有變體資訊則不會用到),我覺得這應該是個可以接受的缺點?wctaiwan留言2022年2月14日 (一) 00:09 (UTC)
我支持默認啟用,畢竟你都開了popups怎麼還不選一個你喜歡的變體…… ——魔琴 [ 留言 貢獻 ] 2022年1月21日 (五) 15:01 (UTC)
應該是login就不執行吧,直接叫他去偏好調了-- Sunny00217  2022年2月9日 (三) 07:29 (UTC)
已排除已登入的使用者。wctaiwan留言2022年2月13日 (日) 23:58 (UTC)

@Xiplus(或其他路過的管理員)能不能麻煩您依據以上的討論看一下是否可以部署,並將此討論存擋?謝謝。wctaiwan留言2022年2月14日 (一) 00:20 (UTC)

最近比較忙沒空處理這個,不過我打算等有空把這個 JavaScript 包裝成一個 gadget 然後在這裡公示透過 MediaWiki:Gadgets-definition 預設部署。這樣就不需要修改 Common.js。wctaiwan留言2022年3月3日 (四) 03:47 (UTC)
容我把先前的討論折疊起來,免得一直佔空間。wctaiwan留言2022年3月3日 (四) 04:02 (UTC)
問個技術問題,要怎麼製作對未登入使用者預設啟用,但對登入使用者預設關閉的小工具?--Xiplus#Talk 2022年3月3日 (四) 09:08 (UTC)
印象里沒有直接辦法,反過來倒是行。想到的方法是,先在common.js之類的地方判斷userid再load,嗯…load會慢一些,可以直接default加載再用if包裹具體內容執行。--安憶Talk 2022年3月3日 (四) 09:36 (UTC)
用common.js比較好吧,對登入使用者減少載入沒有功能的js。--Xiplus#Talk 2022年3月10日 (四) 04:28 (UTC)
這個 script 才 1.5KB 左右,經過 ResourceLoader minify 應該可以再壓縮一半左右。我的猜測是相對於(僅在需要時)加掛那個 listener,下載程式碼這件事對頁面效能應該趨近毫無影響,用小工具部署也比較模組化一些,反而在 common.js 用 mw.loader.load 可能還會因為需要多一個 request 而使多數匿名讀者載入頁面的效能變差... 不過我可以至少把 mw.user 改成用 mw.config,這樣可以少一個 dependency。 wctaiwan留言2022年3月10日 (四) 06:25 (UTC)
ResourceLoader minify也只有移除空白字元而已,不過我說的不是這個,還是可以用ResourceLoader,只是把判斷式放到common.js,不開default。--Xiplus#Talk 2022年3月10日 (四) 06:57 (UTC)
這樣不是在讀取 common.js 後才會用mw.loader.load發另一個 request 去載入這個 script?不過我對於實際實作方式沒有太過強烈的偏好,對我而言重點是解決一開始提出的問題。如果您覺得這樣比較好,能不能請您條列具體的步驟,以利公示期結束時進行部署?(我主要是覺得這個提議這麼久都尚未部署,一方面也是因為一直沒有一個確定的方案,所以才提出具體步驟進行公示。)謝謝。wctaiwan留言2022年3月12日 (六) 19:04 (UTC)
應該做不到,不過現行的版本裡面已排除已登入使用者。[22] 大概可以在部署 gadget 時把它設成 default|hidden,這樣對未登入使用者會自動啟用,對已登入使用者則應沒有影響。wctaiwan留言2022年3月3日 (四) 14:24 (UTC)
我想到一個問題:如果直接右鍵點擊(觸屏上則長按)複製鏈接,按照目前的解決方案還是會得到原始鏈接。這是預期行為嗎?--Tranve () 2022年3月26日 (六) 09:06 (UTC)
兩種操作在我這裡都得到修改後的鏈接。--Lt2818留言2022年3月26日 (六) 10:27 (UTC)
是的,我剛才測試方法有誤……那就沒事了。--Tranve () 2022年3月26日 (六) 11:27 (UTC)

部署公示討論

研究了一下 mw:Gadget kitchen#Deploying or enabling a gadget,看來要部署的話具體的步驟如下:

  1. User:Wctaiwan/rewritePathVariant.js 搬動到 MediaWiki:Gadget-rewritePathVariant.js
  2. MediaWiki:Gadgets-definition 中進行以下修改:
現行條文

browser ...

appear

提議條文

browser ...

* RewritePathVariant[ResourceLoader|default|hidden|targets=desktop,mobile|type=general]|rewritePathVariant.js

appear

這樣做的話會預設為匿名使用者開啟這項功能,但不影響已登入使用者。現行部署的版本將會是 [23]

依據以上的具體提案,🕗 公示7日,2022年3月17日 (四) 02:45 (UTC) 結束 wctaiwan留言2022年3月10日 (四) 02:45 (UTC)

代碼調整

/**
 * Work around https://phabricator.wikimedia.org/T223053 by rewriting link URLs
 *
 * Thanks to User:Legoktm for the idea and for technical assistance, and to
 * User:Jack Phoenix for reviewing the implementation.
 */

(function () {
	if (mw.config.get('wgUserName') !== null)
		return; // Don't run this for logged-in users
	var userVariant = mw.config.get('wgUserVariant');
	if (!userVariant || userVariant.indexOf('zh-') !== 0 ||
		window.location.pathname.indexOf('/' + userVariant + '/') !== 0 &&
		new mw.Uri().query.variant !== userVariant
	)
		return;
	$(document).on('keydown mousedown touchstart', 'a', function () {
		var originalHref = $(this).attr('href'),
			uri;
		if (!originalHref)
			return;
		try {
			uri = new mw.Uri(originalHref);
		} catch (e) {
			return;
		}
		if (!('variant' in uri.query))
			if (originalHref.indexOf('/wiki/') === 0)
				this.href = '/' + userVariant + originalHref.slice(5);
			else if (originalHref.indexOf('/w/index.php?') === 0)
				this.href = uri.extend({variant: userVariant}).getRelativePath();
	});
})();

對代碼做了些調整,依賴項有mediawiki.Uri,請其他人覆核一下。

  • 增加keydown事件,適用於鍵盤導航的場景。
  • mw.Uri處理網址,應能規避一些邊角錯誤。
  • 簡化代碼。

--Lt2818留言2022年3月10日 (四) 09:29 (UTC)

增加keydown我覺得是個好主意。其餘部分我覺得我原本的程式碼可能比較容易閱讀/維護(例如省略{}可能會造成 goto fail 之類的錯誤),不過同上,我對實際的程式碼沒有強烈的偏好,所以端看社群的想法。wctaiwan留言2022年3月12日 (六) 19:04 (UTC)
您的代碼未考慮到/w/index.php網址中可能存在的fragment,例如將該頁面第二行的「資訊」鏈接改錯。「goto fail」之類屬於劣質代碼,不認為是加個括號能避免的。--Lt2818留言2022年3月13日 (日) 07:38 (UTC)
已修正,程式碼風格部分見仁見智,就看社群怎麼想吧。wctaiwan留言2022年3月13日 (日) 15:03 (UTC)
先以我說的方式部署了 1 2 3,登入使用者如有需要(可能想要一段時間以某種變體瀏覽多個頁面之類的?)也可以開啟這個小工具。--Xiplus#Talk 2022年3月17日 (四) 05:30 (UTC)
例如...以隨機用字模式閱讀頁面的小工具?--Xiplus#Talk 2022年3月17日 (四) 05:31 (UTC)
萬分感謝!wctaiwan留言2022年3月17日 (四) 14:22 (UTC)

2022年3月28日 (一) 19:54 (UTC)

數據庫維護的,中文系列除了本站點在s2組外,大部分(包括中文其他項目,粵語、閩南語)都在s3組。——Sakamotosan路過圍觀 | 避免做作,免敬 2022年3月29日 (二) 01:30 (UTC)

youtube模板問題

鍾嘉欣。

之前大概是某位IP用戶提交的鏈接是 www.youtube.com/c/chungkayanlinda ,這倒是能直接訪問。而我剛剛在套上模板的時候,只能用代碼 UCogtkZ9ZR5ZIu-V-c4a8sVg,否則死活不會指向該頻道。到底哪裡出了問題?(重點差異部分已加粗)

--我是火星の石榴留言2022年3月31日 (四) 06:49 (UTC)

{{youtube|custom=chungkayanlinda}}。 Stang 2022年3月31日 (四) 16:28 (UTC)