跳转到内容

维基百科:互助客栈/技术/存档/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)