Joomla安装扩展与进度条

时间:2014-08-07 16:09:38

标签: joomla joomla3.0

我正在尝试使用此功能制作进度条

    public function preflight($route, JAdapterInstance $adapter)
    {
        echo '<script>
        console.log("lol");     
        </script>'; 
    }

通常预警应该在所有类型的操作之前执行,我用die()测试它没关系但是当你回显或尝试执行js脚本时没有执行之前但之后。

我们是否有进行此进度的更改?

2 个答案:

答案 0 :(得分:0)

尝试使用Joomla的addScriptDeclaration()方法,而不是试图回应你的脚本,如下所示:

public function preflight($route, JAdapterInstance $adapter)
{
    $doc = JFactory::getDocument();
    $js = '
       console.log("lol");
       // some more code here
    ';

    $doc->addScriptDeclaration($js);
}

请注意,我没有使用<script>代码,因为addScriptDeclaration()会自动为您添加这些代码。

希望这有帮助

答案 1 :(得分:0)

我刚刚在邮政飞行中遇到同样的事情,并怀疑它可能是同一个问题。对我来说,问题是Joomla扩展安装是使用AJAX请求完成的。这意味着任何在邮件和飞行前执行的代码都将在服务器端处理,任何生成的HTML在完成后插入到DOM中。因此,任何JavaScript都需要添加到返回HTML并包装在文档就绪的包装器中。尝试添加它,看看是否有东西出现在控制台中。

echo "<script>
 jQuery(document).ready(function() {
    console.log ('lol');
});
</script>";

这应该确认你的问题是否与我这样的AJAX联系在一起。