2010-10-01 56 views
2

我設置了以下元標記以設置內容類型,並且這樣做頁面加載時間跳過大約30%(使用chrome開發工具和firefox螢火蟲,350 - > 500毫秒)。注意:我已經將第一件事放在標籤內,以防止重新呈現頁面內容。此外,kb中的頁面大小基本相同,所以這不是問題。UTF-8內容類型元標記正在減慢頁面加載速度,爲什麼?

元HTTP的當量= 「Content-Type的」 內容= 「text/html的;字符集= UTF-8」

如果我不包括標籤,字符不正確呈現。如果我刪除它,而是將標題添加到我的PHP,如下所示,一切都很快。

header('Content-Type:text/html; charset = utf-8');

所以我的第一個問題是,我真的需要元標記還是足夠所有瀏覽器?我聽說我需要meta標籤,所以表格可以正常工作,但看起來標題可能足夠好。

我的第二個問題是,爲什麼地球上這個標籤會影響加載時間,這似乎顯得很瘋狂?

回答

3

標題將覆蓋我相信的元標記。所以你應該使用標題,而不是元標記。元標記的問題在於,瀏覽器甚至在看到元標記之前就開始解析HTML。一旦它遇到元標記,它現在知道編碼,所以它必須重新開始。這可能解釋你看到的延遲。

+0

感謝Peter的迴應。是的,標題確實會覆蓋元標記(http://www.w3.org/International/questions/qa-html-encoding-declarations#httpheadwhat),但它仍然似乎很奇怪,元標記可能會導致這樣的延遲這是宣佈的第一件事。我沒有看到任何理由保留元標記,儘管很多人會這樣做(如果標題被剝離)。 – Hamish 2010-10-04 02:34:54

0

這可能取決於您之後執行的代碼。這本身不應該影響。 如果這是一個網頁本身,你不需要執行header()函數,html meta標籤就足夠了。

+0

嘿Flaab,謝謝你的迴應。我知道兩者都可以工作,但這確實是一個效率和兼容性問題。看起來header()函數效率更高 – Hamish 2010-10-04 02:37:26

0

不使用元標記存在潛在的問題。一旦輸出並保存在本地,它就不會知道正在使用哪種語言。通過將其設置爲HTML元,它可以讓瀏覽器知道使用哪種語言。否則,如果您使用的是亞洲字符,則會出現亂碼。如果你只使用英語,那麼它不會成爲一個問題。

+0

感謝Netrox,我同意。這對我來說不是問題,所以我更喜歡速度提高30%,而不是照顧人們保存我的頁面! – Hamish 2010-10-07 02:07:39

相關問題