如何在CakePHP 2.x中推迟内联jQuery

时间:2016-03-10 11:36:05

标签: jquery cakephp cakephp-2.x

由于页面速度优化,我在布局中加载了jQuery和其他javascripts。

现在我必须在视图(与php混合)中创建一个jQuery脚本块,但jQuery函数显然不会被识别,因为它是在加载jQuery之前加载的。

我试过了:

$this->Html->scriptStart(array('inline' => false));

但它甚至没有在源代码中加载它。

为了调试,我尝试了:

$this->Html->scriptStart(array('inline' => true));

它确实加载但正如它所说,内联。对我的需求没有好处。

我怎样才能推迟"在加载了所有其他脚本和整个布局后,内联javascript并加载它?

一种选择是使用javascript完成所有操作,但我也会在那里使用PHP,这就是它在视图中的原因。

2 个答案:

答案 0 :(得分:1)

不要忘记在你的布局中加入:

<? echo $this->fetch('script');?>

在您看来,现在应该可以使用以下内容:

<? $this->Html->scriptStart(array('inline' => false)) ?>
    //Js goes here
<? $this->Html->scriptEnd() ?>

答案 1 :(得分:0)

在DOM ready函数中包装jquery代码

  document.addEventListener("DOMContentLoaded", function(event) {

  });