2

我想将 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 仍未加载或运行。

4

1 回答 1

1

是的,您可以在定义中position为脚本指定一个参数。$wgResourceModules将其设置top为modernizr,然后通过$wgOut->addModules.

于 2012-10-10T09:42:47.267 回答