我通过使用JS helper在我的cakephp应用程序中使用ajax。所以我不需要编写jquery代码。 Js帮助器自动在我的文件中添加代码。以下是JS帮助程序编写代码的行。
echo $this->Js->writeBuffer(array('cache'=>true));
当我设置cache属性的真值时,每次在我的代码中以下列方式添加在js文件夹中创建的新js文件和新脚本时。
<script type="text/javascript" src="filename.js"></script>
但是当我将缓存值更改为false时,我的文件中逐行添加了所有js代码。
现在我的问题是,哪种方式最好的方式,页面执行速度快。 我的第二个问题是,当我设置缓存的真值时,js文件只添加一次,现在js helper一次又一次地添加js文件,当页面重新加载或刷新时。
答案 0 :(得分:0)
为了记录这个问题可能措辞得更好。
第一个问题,执行速度:为JS的每一个位保存一个新文件可能不是可行的方法。希望下面的代码可以解释一个更好的方法,并使你的第二个问题没有实际意义。
// In /app/View/Layouts/default.ctp
...
<head>
...
<?php echo $this->fetch('script'); ?>
...
</head>
<body>
...
<?php echo $this->Js->writeBuffer();
...
</body>
一旦到位,您可以使用
将脚本文件添加到视图或布局中 <?php echo $this->Html->script('scriptname', array('inline'=>false)); ?>
(注意没有.js扩展名)
或添加自定义Js:
<?php
$customJs = "alert('Hi!');";
echo $this->Html->scriptBlock($customJs, array('inline'=>false));
?>
希望有所帮助。