维基百科:互助客栈/技术/存档/2022年3月

Stang在话题“youtube模板问题”中的最新留言:2年前


站外分享与收藏

捷徑無法使用

關於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的编辑请求

Tech News: 2022-09

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)

Tech News: 2022-13

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)