尝试在 Joomla中使用HeadJS 。我在我的模板中添加了一个代码——它抓取头输出中的 javascript 文件,准备一个字符串以在 head.js 代码之间输出它们,然后从 joomla 的头输出标签中删除所有 javascript 文件。
问题是在模板之后加载了一些脚本。例如,一个模块将在模板加载后将一些脚本文件排入队列,因此它的文件出现在我的 head.js 代码之外。有什么想法可以控制吗?
$data = $this->getHeadData();
if( $data['scripts'] ){
foreach ($data['scripts'] as $url=>$type){
if( !strstr($url, 'ajax.googleapis.com/ajax/libs/jquery') )
$headjs[] = $url;
}
unset( $data['scripts'] );
$data['scripts'][$template . '/js/head.js'] = array(
'mime' => 'text/javascript',
'defer' => false,
'async' => false);
$this->setHeadData($data);
}
接着...
<script>
head.js(
<? foreach($headjs as $script): ?>
'<?=$script?>',
<? endforeach; ?>
function(){
}
);
</script>