加载CakePHP中布局Javascript文件在“底部”(Load Javascript file

2019-08-05 00:45发布

目前,我有一个布局的大CakePHP的应用程序和大量的意见。 在布局,我加载在其中大多数意见所需的头JavaScript文件。 在视图自理,我要么加载额外的JavaScript文件(例如,加载时,才需要有一个库文件),或者我想补充一些JavaScript代码,只对这个观点在脚本标签相关的,例如,如果我需要一个点击处理程序。

由于这是一个众所周知的事实是,在HTML头模块加载JavaScript文件加载页面,我希望把他们在底部收身标记之前。 但是,如果我这样做,Javascript语言,我的观点,即加载内容中断,因为它不知道我的加载JavaScript文件。 据我所知,加载我的文件之前加载的意见Javascript代码被执行。 但是,我怎么能防止呢?

我目前使用的HTML助手的布局(和其他地方)来加载我的JS文件是这样的:

<?php echo $this->Html->script('//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'); ?>

我用的是JS助手到“输出” JS在页面与结束

<?php echo $this->Js->writeBuffer(); ?>

有没有一种方法,我可以附加在我的意见JS代码,这样,当我把它writeBuffer执行? 可以在帮助我吗?

Answer 1:

这是我在我看来,这样做:

echo $this->Html->script('filename', array('inline' => false));

这就是我在布局的底部做:

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


Answer 2:

由于CakePHP的2.1版本,你可以使用脚本块:

// in your view
$this->Html->script('filename', array('block' => 'scriptBottom'));

// in your layout
echo $this->fetch('scriptBottom');

这种方法可以让你保持echo $this->fetch('script')<head>的情况下,你的布局,你在上面需要的任何脚本。



文章来源: Load Javascript files in CakePHP Layout at “bottom”