由于页面速度优化,我在布局中加载了jQuery和其他javascripts。
现在我必须在视图(与php混合)中创建一个jQuery脚本块,但jQuery函数显然不会被识别,因为它是在加载jQuery之前加载的。
我试过了:
$this->Html->scriptStart(array('inline' => false));
但它甚至没有在源代码中加载它。
为了调试,我尝试了:
$this->Html->scriptStart(array('inline' => true));
它确实加载但正如它所说,内联。对我的需求没有好处。
我怎样才能推迟"在加载了所有其他脚本和整个布局后,内联javascript并加载它?
一种选择是使用javascript完成所有操作,但我也会在那里使用PHP,这就是它在视图中的原因。
答案 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) {
});