在MediaWiki扩展中加载js不起作用

时间:2018-12-07 20:54:41

标签: javascript mediawiki mediawiki-extensions

我将为MediaWiki创建一个扩展,在其中我想提供一个显示表单的特殊页面。对于这种形式,我想使用包括jquery和popper.js的Bootstrap。因此,我需要在扩展程序中包含js文件。

通常,样式和脚本文件包含在PHPSpreadsheet中,如下所示:

extension.json

},

然后需要将它们加载到特殊页面"ResourceModules": { "ext.meForm.custom": { "position": "top", "scripts": [ "jquery-3.3.1.slim.min.js", "popper.min.js", "bootstrap.min.js", "ext.meForm.custom.js" ], "styles": [ "bootstrap.min.css", "icons.css", "ext.meForm.custom.css" ] } 方法中,如下所示:

execution

当我仅包括样式文件(只需删除$output->addModuleScripts('ext.meForm.custom'); $output->addModuleStyles('ext.meForm.custom'); 属性)时,将按预期方式应用样式。但是当我添加scripts属性时,不仅不再应用脚本,而且样式也不再应用。似乎我在模块定义中做任何错误,但我不知道该怎么做。

有人有任何线索或想法吗?

问候, 雅各布

编辑: 我忘了提一下,它似乎与jquery,popper或bootstrap的js文件无关,因为当我仅包含script时,它的行为相同,实际上这只是一个空的js文件。

我从第1行的ext.meForm.custom.js中获得的唯一控制台输出是SyntaxError: expected expression, got '<'

我正在使用Mediawiki版本1.30.1。

编辑: 现在可以使用了。看来问题出在另一个扩展,加载时出错。我真的不知道这怎么会导致我的扩展程序无法正确加载模块,但确实如此。

2 个答案:

答案 0 :(得分:0)

addModuleScripts并不是真正有用(也已弃用)。尝试$output->addModule('ext.meForm.custom');

答案 1 :(得分:0)

现在可以使用!

问题似乎是另一个扩展,在加载时出现错误。我真的不知道这怎么会导致我的扩展程序无法正确加载模块,但确实如此。