1

我通过使用 JS helper 在我的 cakephp 应用程序中使用 ajax。所以我不需要编写 jquery 代码。Js helper 自动将代码添加到我的文件中。以下是 JS helper 编写代码的行。

echo $this->Js->writeBuffer(array('cache'=>true));

当我设置缓存属性的真实值时,每次在 js 文件夹中创建一个新的 js 文件并以以下方式在我的代码中添加一个新脚本。

<script type="text/javascript" src="filename.js"></script>

但是当我将缓存值更改为 false 时,所有 js 代码都逐行添加到我的文件中。

现在我的问题是,哪种方式是最好的方式,页面执行速度快。我的第二个问题是,当我设置缓存的真实值时,js文件只添加一次,现在js助手一次又一次地添加js文件,当页面重新加载或刷新时。

4

1 回答 1

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));
?>

希望有帮助。

于 2012-12-03T04:24:34.310 回答