You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MediaWiki扩展Special页面JS仅移动端无法加载问题求助

问题排查与解决方案

针对你开发的MediaWiki扩展JS在移动端无法加载的问题,按以下步骤排查:

1. 确认PHP页面是否正确注册资源模块

打开SpecialArchiRecentChanges.php,检查execute方法中是否添加了资源模块调用:

$this->getOutput()->addModules( 'ext.archirecentchanges' );

这是最容易遗漏的环节——桌面端可能通过其他隐式方式加载资源,但移动端皮肤严格遵循显式注册规则,未添加这行代码会导致模块完全不加载。

2. 完善资源模块配置

修改extension.json中的ResourceModules节点,补充依赖和目标端声明:

"ResourceModules": {
  "ext.archirecentchanges": {
    "scripts": [
      "js/archirecentchanges.js"
    ],
    "messages":[
      "readthis"
    ],
    "dependencies": [
      "mediawiki.base",
      "mediawiki.util"
    ],
    "targets": [
      "desktop",
      "mobile"
    ]
  }
}
  • dependencies:确保基础MediaWiki模块先加载,避免JS运行时依赖缺失
  • targets:明确指定模块同时适配桌面和移动端,防止移动端皮肤自动过滤该模块

3. 清除MediaWiki资源缓存

移动端常因缓存旧资源包导致新模块无法加载,执行以下维护脚本强制刷新:

php maintenance/rebuildLocalisationCache.php
php maintenance/purgeCache.php

也可直接访问站点的Special:Version页面,点击"Purge cache"按钮完成缓存清理。

4. 验证文件路径与权限

  • 确认js/archirecentchanges.js存在于扩展根目录,文件名大小写与配置一致(Linux服务器区分大小写)
  • 检查文件权限,确保Web服务器有读取权限(通常设置为644)

5. 移动端网络请求排查

用手机浏览器的开发者工具查看网络请求:

  • 搜索ext.archirecentchanges相关请求,若返回404,说明路径配置错误
  • 若请求未出现,回到步骤1和2确认模块注册是否生效

内容的提问来源于stack exchange,提问作者aphfug

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 21:50:04