我运行一个使用Topbar 扩展的 MediaWiki 站点。我最近将安装从 MediaWiki 的主分支升级到了最前沿的版本:1.28.0-alpha (91e56cc) 版本。
之后,Topbar 扩展不再起作用:
- 通常,topbar div 根本不被插入。
- 有时,顶栏 div 会出现,但链接不起作用。
后一个问题可能是我的 CSS 的问题(我不知道),但间歇性行为与我有关。因此,首要任务是确保每次至少出现 topbar div。
这个扩展只是一个小的 javascript,它应该在页面加载时运行,在顶部 () 附近添加一块 HTML <div id="mw-writh-topbar" ...>
。它使用 jQuery 函数来做到这一点。
不幸的是,我并不是真正的 Web 开发人员,所以即使是这个简单的例程也有点让我头疼。
以下是我所知道的:
- 没有 500 服务器错误,PHP 没有明显的问题。
- 在我调查的早期的某个时候,开发者控制台有时会抱怨
Uncaught ReferenceError: jQuery is not defined
,但我现在无法再重现它了。研究模糊地表明这可能是因为扩展没有使用新的 ResourceLoader 机制,所以我尝试迁移 Topbar 以使用 ResourceLoader 机制(通过maintenance/convertExtensionToRegistration.php
,然后wfLoadExtension('Topbar')
inLocalSettings.php
),但似乎没有任何区别。 - Topbar 钩子似乎被调用,因为
css/Topbar.css
被添加到页面中。但我不知道是否js/Topbar.js
曾经运行过,如果是这样,会发生什么。
那么:我该如何调试呢?