MediaWiki讨论:Gadget-CommentsinLocalTime.js
改进以支持实时预览
编辑请求已处理
新代码:[1]。
- 主要代码是
mw.hook('wikipage.content').add
添加一个触发器(doc),在预览获得时触发。 - 因为触发是在预览内容添加前(见doLivePreview函数),所以增加一个setTimeout(fn,0)使其排队。
- 其他代码是参考en:MediaWiki:Gadget-CommentsInLocalTime.js(固定链接),暂无明显作用。
--YFdyh000(留言) 2016年6月20日 (一) 10:19 (UTC)
- 建议使用此版本:[2]。--YFdyh000(留言) 2016年6月20日 (一) 10:36 (UTC)
检查无误。--Antigng(留言) 2016年6月20日 (一) 13:55 (UTC)
修改小工具CommentsinLocalTime(本地时区显示签名时间)
编辑去除white-space: nowrap;
,理由:有nowrap、没nowrap、没启用小工具,(测试范例取自这里)。--A2093064#Talk 2017年3月27日 (一) 02:41 (UTC)
'个月' 缺繁体
编辑请求已处理
'个月'
改为wgULS('个月','個月')
。--YFdyh000(留言) 2017年11月28日 (二) 19:07 (UTC)
- (~)补充:X日“后”也无对应繁体“後”。--1.172.254.167(留言) 2017年11月29日 (三) 05:03 (UTC)
- 完成,两个都完成。--Xiplus←A2093064 2017年11月29日 (三) 05:50 (UTC)
关于小工具
编辑在小工具→界面显示工具里有项“以本地时区显示用户签名的时间,并显示发言时间到当前时间的间隔”,开启后会变成如“2017年11月25日, 星期六 (3日前), 08:32 pm (UTC+8)”这样的显示法,但如果超过一个月会写“2017年10月22日, 星期日 (1个月6日前), 12:39 am (UTC+8)”,那个“个”会变成简体字,虽然我是不排斥简体字,不过这样看起来总觉得怪怪的,明明是繁中界面为什么会突然跑出简体。请问这个可以修改吗?谢谢—以上未签名的留言由Suaveness(对话|贡献)于2017年11月28日 (二) 03:30 (UTC)加入。
- MediaWiki:Gadget-CommentsinLocalTime.js未进行多语言处理。-- By Jimmy Young. (Talk) 2017年11月28日 (二) 13:18 (UTC)
- 已在MediaWiki_talk:Gadget-CommentsinLocalTime.js请求。--YFdyh000(留言) 2017年11月28日 (二) 19:07 (UTC)
- 谢谢帮忙~~--Suaveness(留言) 2017年11月29日 (三) 12:36 (UTC)
编辑请求 2020-02-09
编辑请求已拒绝--Xiplus#Talk 2020年3月29日 (日) 04:07 (UTC)
请求把utc_offset
改成可以使用LocalComments.utc_offset
来变更-- Sunny00217 2020年2月9日 (日) 08:23 (UTC)
- 这样做有什么好处?有什么坏处?--Temp3600(留言) 2020年2月12日 (三) 17:42 (UTC)
“以本地时区显示签名时间”小工具先于图表加载时导致无限递归
编辑如题,图表是指 Graph 扩展画的图。复现方法:开启以本地时区显示签名时间,访问这个比较复杂的图表,必要时多刷新几次,等小工具在图表之前加载完,浏览器会卡死,控制台报错递归次数太多。一些测试:英文版工具似乎没有此问题。把mw.hook('wikipage.content')
中的延迟setTimeout("checkScript();", 0);
调高也可以避免该问题(毕竟这样基本就会在图表之后加载了)。 --砜中嘌呤的白磷萃取 打谱 2021年4月11日 (日) 02:51 (UTC)
- 今天我手动调试的时候也发现了这个问题,本来今天中午还想来报告的,结果发现刚刚好有人比我早一天报告了。我的问题是,为什么会发生这种事情,理论上用户签名跟图表应该是完全没有关系的才对啊--Milky·Defer 2021年4月12日 (一) 13:47 (UTC)
- 昨天测试了一下,因能力有限未查出原因。这个小工具看起来会遍历每个节点,估计与图表代码在操作相同对象时有冲突。不建议以调高timeout作为最终解决方法。--Lt2818(留言) 2021年4月12日 (一) 17:59 (UTC)
- 如果大家都不太明白具体原因的话,可以考虑同步到英文维基的最新版本,似乎没有出现这个问题。 --砜中嘌呤的白磷萃取 打谱 2021年4月16日 (五) 04:07 (UTC)
- (+)支持。—— Eric Liu 创造は生命(留言.留名.学生会) 2021年4月26日 (一) 02:56 (UTC)
- 如果大家都不太明白具体原因的话,可以考虑同步到英文维基的最新版本,似乎没有出现这个问题。 --砜中嘌呤的白磷萃取 打谱 2021年4月16日 (五) 04:07 (UTC)
- 昨天测试了一下,因能力有限未查出原因。这个小工具看起来会遍历每个节点,估计与图表代码在操作相同对象时有冲突。不建议以调高timeout作为最终解决方法。--Lt2818(留言) 2021年4月12日 (一) 17:59 (UTC)
编辑请求 2021-07-07
编辑请求已处理
续#编辑请求_2020-02-09的诡异(?)提案,加入LocalComments.utcOffset
让用户可以调整显示的时区(例如说某些无聊的人想把时区设在UTC+0)-- Sunny00217 2021年7月7日 (三) 15:24 (UTC)
- 续#编辑请求_2020-02-09:有人需要,没什么坏处。--安忆Talk 2021年7月8日 (四) 05:49 (UTC)
有没有办法让“以本地时区显示签名时间”小工具支援旧版时间戳格式?
编辑早年的时间戳格式如“07:35 2005年11月28日 (UTC)”,与今日的“2005年11月28日 (一) 07:35 (UTC)”有所不同。是否能让“以本地时区显示签名时间”小工具支援此类格式?另外在写这话题的时候无意发现,若在新版的回复工具文字编辑框内输入支援的时间戳格式,就会直接自动被小工具转换掉orz —— Eric Liu 创造は生命(留言.留名.学生会.LEP) 2021年7月6日 (二) 09:03 (UTC)
- 这是使用回复工具的测试,第二次,2005年11月28日 (一) 07:35 (UTC) 。--安忆Talk 2021年7月6日 (二) 10:08 (UTC)
- 我认为没有必要支持早期的时间格式,可以等其他有心人提交补丁。--安忆Talk 2021年7月6日 (二) 10:12 (UTC)
/(\d{2}):(\d{2}) (\d{4})年(1[012]|\d)月(3[01]?|[12]?\d)日 \(UTC\)/
呢?-- Sunny00217 2021年7月6日 (二) 13:16 (UTC)- 我不是很清楚早期格式是什么样的,是不是和现在的一样有
\([一二三四五六日]\)
(正则)。单从这句看,不必(1[012]|\d)月(3[01]?|[12]?\d)日
,(\d{1,2})月(\d{1,2})日
足够了。--安忆Talk 2021年7月6日 (二) 13:56 (UTC)- (这只是减少抓取不正确的日期格式罢了 囧rz……)-- Sunny00217 2021年7月7日 (三) 15:12 (UTC)
- 感觉有些多虑了。因为它不只有
(\d{1,2})月(\d{1,2})日
,还有前后文的,所以匹配错的概率可以说是趋于零。--安忆Talk 2021年7月10日 (六) 01:04 (UTC)
- 感觉有些多虑了。因为它不只有
- (这只是减少抓取不正确的日期格式罢了 囧rz……)-- Sunny00217 2021年7月7日 (三) 15:12 (UTC)
- 我不是很清楚早期格式是什么样的,是不是和现在的一样有
实时预览中失效
编辑请求已拒绝
@AnYiLin:这样修改能应对图表等场景吗,不知道怎么测。实时预览中元素没有'mw-content-text',只有'mw-content-ltr'。--YFdyh000(留言) 2022年4月15日 (五) 03:58 (UTC)
- 请了解相关代码的管理员测试和应用。--YFdyh000(留言) 2022年4月22日 (五) 12:35 (UTC)
- 我写的话会用Observer。本地这个还是挺迷的…en:User:Gary/comments_in_local_time.js这有新的。--安忆Talk 2022年4月23日 (六) 10:20 (UTC)
- 这个?兼容性不行吧。为什么换新的,图表那个不知道怎么重现,修改我觉得没问题……--YFdyh000(留言) 2022年4月23日 (六) 11:29 (UTC)
- @YFdyh000:MediaWiki自带这个API的Polyfill,请放心使用。--Diskdance 2022年9月14日 (三) 13:27 (UTC)
- 这个代码测试后有问题么?--百無一用是書生 (☎) 2023年4月3日 (一) 07:57 (UTC)
- @YFdyh000:MediaWiki自带这个API的Polyfill,请放心使用。--Diskdance 2022年9月14日 (三) 13:27 (UTC)
- 这个?兼容性不行吧。为什么换新的,图表那个不知道怎么重现,修改我觉得没问题……--YFdyh000(留言) 2022年4月23日 (六) 11:29 (UTC)
- 我写的话会用Observer。本地这个还是挺迷的…en:User:Gary/comments_in_local_time.js这有新的。--安忆Talk 2022年4月23日 (六) 10:20 (UTC)
- 未完成--百無一用是書生 (☎) 2023年10月27日 (五) 02:23 (UTC)
编辑请求 2024-03-07
编辑请求已处理
客栈讨论。修改转换范围、调整日期格式。--Cookai饼块🍪(💬留言) 2024年3月7日 (四) 08:31 (UTC)
修改以本地时区显示签名时间工具
编辑现时若要避免此小工具将差异页面显示的源代码转换,必须如§ 自定义的范例,在检视差异时停用此小工具,但如此一来下方的页面内容的时间戳也不会被转换。
document.querySelector('.mw-body-content .mw-parser-output')
而中维的版本用的是
document.getElementById('bodyContent') // 簡化,非源碼
在此提议对这点做修改。--Cookai饼块🍪(💬留言) 2024年1月29日 (一) 16:47 (UTC)
- (+)支持,我在我fork的版本中测试过没什么大问题。题外话,有办法让Gadget之间有运行顺序吗……之前在站外提过空格小工具和本地时区显示签名时间工具同时运行,有些时候签名时区来不及在空格小工具前运行,导致加了空格后无法转换时区,有办法修吗?--路西法人 2024年2月3日 (六) 15:39 (UTC)
- mw.loader.getState('ext.gadget.HanAssist') 方式判断并延迟?在User:SunAfterRain/js/download.js看到这种。--YFdyh000(留言) 2024年2月3日 (六) 19:58 (UTC)
{{ping|YFdyh000}不太行,因为我的用法是必然会载入ext.gadget.HanAssist,然而此情境空格小工具不一定会载入(而且在本站一定是走User:SunAfterRain/js/download.js#L-3分支...)--SunAfterRain 2024年2月4日 (日) 08:31 (UTC)- @YFdyh000--SunAfterRain 2024年2月4日 (日) 08:32 (UTC)
- 我指在字距工具中mw.loader.getState('ext.gadget.CommentsinLocalTime'),等待loading/loaded/executing,ready或出错([3])后运作。--YFdyh000(留言) 2024年2月5日 (一) 04:35 (UTC)
- 那您需要的应该是这个:
new Promise((resolve, reject) => { let loopFlag; const loopFn = () => { switch (mw.loader.getState('ext.gadget.CommentsinLocalTime')) { case 'registered': case 'ready': case 'error': case 'missing': clearInterval(loopFlag); resolve(); break; } }; loopFlag = setInterval(loopFn, 100); });
- --SunAfterRain 2024年2月15日 (四) 09:36 (UTC)
- mw.loader.getState('ext.gadget.HanAssist') 方式判断并延迟?在User:SunAfterRain/js/download.js看到这种。--YFdyh000(留言) 2024年2月3日 (六) 19:58 (UTC)
var element_class = unique_url ? unique_url : '.mw-body-content .mw-parser-output'; replace_text(document.querySelector(element_class), /(\d{4})年(\d{1,2})月(\d{1,2})日 \([一二三四五六日]\) (\d\d):(\d\d) \(UTC\)/g, adjust_time);
- 改成这样如何。--Cookai饼块🍪(💬留言) 2024年2月12日 (一) 16:08 (UTC)
- Cookai饼块🍪(💬留言) 2024年2月18日 (日) 08:37 (UTC)
- “此方案”指哪一份。我没有测试各案,但我支持解决误转换问题,测试稳妥后无需公示。--YFdyh000(留言) 2024年2月18日 (日) 08:44 (UTC)
请问三位对此方案有什么看法?是否同意免去公示程序?--
- Cookai饼块🍪(💬留言) 2024年2月18日 (日) 08:37 (UTC)
修了测试版,为测试删了HanAssist;可以直接合并的在这(比较)。
改了
- 转换区域
dateFormat
的ymd
改成无前导0- 加了
ymd0
有前导0 - 其他值的
month
加了前导0,符合ISO日期
- 加了
--Cookai饼块🍪(💬留言) 2024年2月20日 (二) 15:05 (UTC)
- 公示7日,2024年3月6日 (三) 15:28 (UTC) 结束:7日无异议,公示7日。--Cookai饼块🍪(💬留言) 2024年2月28日 (三) 15:28 (UTC)
- 编辑请求已提交。--Cookai饼块🍪(💬留言) 2024年3月7日 (四) 14:24 (UTC)