Это правило срабатывает, когда PageSpeed Insights обнаруживает, что ваш HTML ссылается на заблокированный системой внешний файл JavaScript (расположенный в разделе первого экрана веб-страницы).
瀏覽器必須先解析網(wǎng)頁,然后才能將其呈現(xiàn)給用戶。如果瀏覽器在解析過程中遇到系統(tǒng)阻止的外部腳本,必須停止解析并且下載該JavaScript。每次遇到這種情況時,瀏覽器都會增加一個網(wǎng)絡(luò)往返過程,這樣就會導(dǎo)致首次呈現(xiàn)網(wǎng)頁的時間延遲。
Рекомендуется обрабатывать JavaScript, необходимый для отображения области первого экрана, встроенным способом, и задерживать загрузку JavaScript, необходимый для добавления дополнительных функций для веб-страницы, пока содержимое первого экрана не будет отправлено. Отметим, что для сокращения времени загрузки таким образом вам также придется
Оптимизация процесса передачи CSS.
Если внешние скрипты меньше, вы можете добавить их прямо в HTML-документ. Вставка меньших файлов таким образом позволяет браузеру продолжать представлять веб-страницы. Например, если HTML-документ выглядит так:
< html >
< head >
< script type="text/javascript "src="small.js" > < /script >
< /head >
< body >
< div >
Hello, world!
< /div >
< /body >
< /html >
資源small.js
Это выглядит следующим образом:
/* contents of a small JavaScript file */
Тогда вы можете встроить скрипт следующим образом:
< html >
< head >
< script type = "text/javascript" >
/* contents of a small JavaScript file */
< /script >
< /head >
< body >
< div >
Hello, world!
< /div >
< /body >
< /html >
這樣,您就可以將small.js
內(nèi)嵌在HTML文檔中,從而消除對它的外部請求。
Чтобы JavaScript не блокировал загрузку веб-страниц, рекомендуется использовать асинхронное свойство HTML при загрузке JavaScript. Например:
< script async src = "my.js" >
如果您的JavaScript資源使用的是document.write,則使用異步加載就會不安全。我們建議您重寫使用document.write的腳本,以改用其他技術(shù)。
此外,異步加載JavaScript時,如果您的網(wǎng)頁加載互相依賴的腳本,請務(wù)必謹(jǐn)慎,以確保您的應(yīng)用以合適的依賴順序加載腳本。
- Что делать, если я использую библиотеку JavaScript (например, jQuery)?
- Многие библиотеки JavaScript (например, jQuery) могут быть использованы для улучшения веб-страниц, что добавляет им дополнительную интерактивность, анимацию и другие эффекты. Однако большинство из этих действий можно безопасно добавлять после того, как контент на первом экране будет представлен. Рассмотрим, можно ли отложить выполнение и загрузку таких JavaScript до загрузки веб-страницы.
- 如果我使用JavaScript框架來構(gòu)造網(wǎng)頁,該如何操作?
- 如果網(wǎng)頁內(nèi)容由客戶端JavaScript構(gòu)造,那么您應(yīng)考慮一下是否可以嵌入相關(guān)的JavaScript模塊,從而避免產(chǎn)生額外的網(wǎng)絡(luò)往返過程。同樣,利用服務(wù)器端呈現(xiàn)可顯著提升首次網(wǎng)頁加載的效果,方式如下:在服務(wù)器上呈現(xiàn)JS模板,并將結(jié)果內(nèi)嵌到HTML,然后在應(yīng)用加載后使用客戶端模板。有關(guān)服務(wù)器端呈現(xiàn)的詳情,請參見http://youtu.be/VKTWdaupft0?t=14m28s。
?
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 3.0 License, and code samples are licensed under the?Apache 2.0 License. For details, see our?Site Policies.