我将为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。
编辑: 现在可以使用了。看来问题出在另一个扩展,加载时出错。我真的不知道这怎么会导致我的扩展程序无法正确加载模块,但确实如此。
答案 0 :(得分:0)
addModuleScripts
并不是真正有用(也已弃用)。尝试$output->addModule('ext.meForm.custom');
。
答案 1 :(得分:0)
现在可以使用!
问题似乎是另一个扩展,在加载时出现错误。我真的不知道这怎么会导致我的扩展程序无法正确加载模块,但确实如此。