目前,我有一个带有布局和很多视图的大型 CakePHP 应用程序。在布局中,我在头部加载大多数视图所需的 Javascript 文件。在视图本身中,我要么加载额外的 Javascript 文件(例如,加载仅在那里需要的库文件),要么在脚本标记中添加一些仅与此视图相关的 Javascript 代码,例如,如果我需要单击处理程序。
由于在 HTML head 中加载 Javascript 文件会阻止加载页面是一个众所周知的事实,因此我想在关闭 body 标签之前将它们放在底部。但如果我这样做,我的视图中加载内容的 Javascript 会中断,因为它不知道我加载的 Javascript 文件。我了解加载视图中的 Javascript 代码是在我的文件加载之前执行的。但是我该如何防止呢?
我目前在布局(以及其他任何地方)中使用 HTML Helper 来加载我的 JS 文件,如下所示:
<?php echo $this->Html->script('//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'); ?>
我使用 JS Helper 在页面末尾“输出” JS
<?php echo $this->Js->writeBuffer(); ?>
有没有办法可以在视图中附加我的 JS 代码,以便在我调用 writeBuffer 时执行它?那能帮我吗?