Joomla将脚本从视图添加到头部脚本的底部
Joomla add script from view to bottom of the head scripts
我想添加这个角脚本:
<script src="/sitename/templates/templatename/app/modules/form/form.js"></script>
. .从Joomla Nooku查看my-account.html.php的头部脚本的底部。因为在模板文件中有$doc->addScript()用于添加脚本,比如AngularJS本身。视图中添加的自定义脚本需要在底部。
如何做到这一点?
如果我在视图中使用AddScript(),脚本将被添加到头部脚本的顶部。
我想出了一个解决办法…差不多吧。在模板文件中,我指定了想要移到头部脚本底部的文件。像这样(欢迎更好的解决方案/方法):
moveScriptToBottom($doc->_scripts, '/sitename/templates/templatename/app/modules/form/form.js');
function moveScriptToBottom(&$scripts, $src)
{
foreach ($scripts as $key => $value) {
if ($key === $src) {
$move = $scripts[$key];
unset($scripts[$key]);
$scripts[$key] = $move;
}
}
}
Joomla本身没有办法做到这一点,所以您提出的解决方案或多或少是唯一的方法。
这肯定会成功的
<?php
//get the array containing all the script declarations
$document = JFactory::getDocument();
$headData = $document->getHeadData();
$scripts = $headData['scripts'];
//remove or add your script
$scripts['/sitename/templates/templatename/app/modules/form/form.js']
$headData['scripts'] = $scripts;
$document->setHeadData($headData);
?>
同样的,你可以通过
删除一些不需要的脚本 unset($scripts['/media/system/js/mootools-core.js']);
您可以通过使用"addCustomTag"来做到这一点,虽然它不能保证脚本标记将被添加到页面的末尾,但它仍然可以解决Joomla的许多序列问题。
$doc->addCustomTag('<script src="' . JURI::root(true) . '/js/yourscript.min.js" type="text/javascript"></script>');
相关文章:
- HTML文档中脚本标记的位置-<头部>&<身体>有不同的行为
- 如何将脚本添加到<头部>标记
- 在HTML JavaScript头部分运行Google脚本函数
- 在</头部>(closing-head)标记,以便用java脚本检索它
- 删除<脚本>标签中的<头部>在所有Drupal 7页中
- "$"未定义;jquery在<头部>;没有冲突的脚本或库
- 将脚本标记写入正文(或头部,如果可能的话)
- 我发现,就在</头部>标签我有<脚本id=“__isTpiViewExists”></脚本>
- <头部>JS脚本未执行
- 让一个javascript加载多个其他java脚本而不接触<头部>
- <头部>使用浏览器打开时不加载脚本
- 如何添加外部<脚本>至<头部>部分
- Zend框架:我如何在头部的脚本后添加JavaScript元素
- 为什么用jQuery在头部插入脚本如此奇怪?
- 防止美元.Pjax从移动动态脚本标签到头部部分
- 只有在头部不存在的情况下添加脚本
- 如何加载或不加载一个JS脚本(进入头部部分)基于屏幕分辨率
- 使用奇怪的行为将脚本附加到头部
- 我需要setTimeout时追加脚本头部通过jQuery
- Joomla将脚本从视图添加到头部脚本的底部