2014-02-11 65 views
0

是一個優於另一個,如果是這樣?我的同事說,由於瀏覽器緩存,我們需要加載JS文件而不是JS內部的視圖。但是當我查看加載視圖的運行時時,它看起來可以忽略不計。我發現加載視圖有很多好處,唯一的反駁是我的同事可以使用瀏覽器緩存。這裏有什麼正確的答案?代碼點燃器加載意見vs loading加載JS文件

E.G.這是優越還是相同?

<script type="text/javascript" src="/path/to/file.js"></script> 

OR

$this->load->view(「views/path/to/file」); 

視圖版本是一個PHP文件不是一個js文件。謝謝!!

+1

不相信你的開發箱來報告真實世界的情況。在快速互聯網上,體面的桌面盒可以忽略不計,3G上的手機可能不會忽略不計......您還需要考慮服務器負載,帶寬以及每種方法帶來的浪費帶寬,而不僅僅是原始速度。這是關於你認爲唯一的「反駁」是正確設置你的網絡服務器,這對大多數專業人士來說是給定的。 – dandavis

回答

0

爲了代碼重用的目的,我認爲在嵌入式視圖需要共享視圖變量時,嵌入視圖在其他視圖內是最好的。

這樣多個視圖可以共享相同的子視圖和子視圖仍然有這些變量的直接訪問。

JavaScript文件不能用於此目的,因爲Javascript文件不能在其中包含視圖變量。

然而,當JavaScript不使用任何視圖變量,那麼它可能是更好的使用它們。

通常情況下,Javascript中有視圖變量,所以我通常做前者。

加載這些視圖每個都需要毫秒,但它非常值得分享代碼的好處。否則,我不會有一個編輯點,你不能把視圖變量放在JS文件中。

0

我認爲自然的JavaScript實現是簡單地採取時間上可能會更好,因爲這是發生了什麼事情反正要發生(在第二版的PHP只是呈現瀏覽器獲得的文件之前)。

你的同事是正確的有關緩存爲好,這是瀏覽器的設計做的,重新加載一個文件,只有當它認爲它是必要的。

說了這麼多,你就需要考慮如何多,輕微的性能優勢將會受益應用。如果你有10個用戶,並且$this->load更適合開發,那麼做。如果你有300萬用戶,或者$this->load並不能真正幫助你,那就使用自然的js實現。

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