我想将Modernizr用于我的MediaWiki皮肤,但似乎ResourceLoader只加载<body>
底部的脚本。我有办法在<head>
中加载它吗?
根据@ Bergi在下面的回答,我创建了一个带有“顶部”位置的扩展,以便将其加载到头部:
扩展/ Modernizr的/ Modernizr.php
<?php
$wgResourceModules['ext.Modernizr.foo'] = array(
'scripts' => 'modules/modernizr-2.6.2.min.js',
'remoteExtPath' => 'Modernizr',
'position' => 'top'
);
modernizr-2.6.2.min.js文件位于 extensions / Modernizr / modules / 文件夹中。
按如下方式加载: 的的LocalSettings.php
require_once( "$IP/extensions/Modernizr/Modernizr.php" );
在我的皮肤文件中的execute()
函数中:
global $wgOut;
$wgOut->addModules('ext.Modernizr.foo');
这是拨打$wgOut->addModules()
错误的地方吗?
Modernizr仍未加载或运行。
答案 0 :(得分:1)
是的,您可以在position
parameter for scripts定义中指定$wgResourceModules
。将其设置为top
for modernizr,然后通过$wgOut->addModules
加载。