一个优于另一个,如果是这样的话?我的同事说我们需要加载JS文件而不是由于浏览器缓存而在其中加载JS的视图。但是当我查看运行时加载视图时,它看起来可以忽略不计。我看到加载视图有很多好处,我的同事可以做的唯一反驳就是浏览器缓存。这里的答案是什么?
E.G。哪个优越还是一样?
<script type="text/javascript" src="/path/to/file.js"></script>
OR
$this->load->view(“views/path/to/file”);
视图版本是php文件而不是js文件。谢谢!
答案 0 :(得分:0)
我认为自然javascript实现在时间方面可能更好,因为无论如何都会发生这种情况(在浏览器获取文件之前,PHP只是渲染的第二个版本)。
您的同事也是正确的缓存,这是浏览器的目的,只有在认为有必要时才重新加载文件。
话虽如此,您确实需要考虑这种轻微的性能优势对应用程序有何益处。如果您有10个用户且$this->load
更适合开发,请执行此操作。如果您有300万用户或$this->load
并没有真正帮助您,请使用自然的js实现。
答案 1 :(得分:0)
绝对加载js standalone更好,因为它将节省整个加载过程和文件的时间,加载后填充它不会传递到php引擎来处理文件然后让php忽略文件的一部分不是php,你的大多数文件都会被忽略。
如果您遇到缓存问题,可以在索引文件上设置标题,告诉浏览器不要缓存页面。
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);`
header("Pragma: no-cache");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
答案 2 :(得分:0)
出于代码重用的目的,我认为只要嵌入式视图需要共享视图变量,最好在其他视图中嵌入视图。
这样多个视图可以共享相同的子视图,并且该子视图仍然可以直接访问这些变量。
Javascript文件无法用于此目的,因为Javascript文件中不能包含视图变量。
但是,当Javascript不使用任何视图变量时,最好使用它们。
通常Javascript中有视图变量,所以我通常会做前者。
加载这些视图每个都需要一毫秒,但值得分享代码的好处。否则我就不会有一个编辑点,你也不能把视图变量放在JS文件中。