1

Google は、スクリプトを「延期」することを推奨していますが、タグのdefer属性については言及していません。<script>しばらく前からあるのに、なぜ彼らはそれについて言及していないのだろうか。

代わりに、スクリプトを DOM に挿入することを提案しています。deferはるかにシンプルでクリーンな属性を使用するよりも、これに特に利点はありますか?

https://developers.google.com/speed/docs/best-practices/payload?csw=1#DeferLoadingJS

古いブラウザーにはいくつかの小さな問題があると思いますが、IE10 より前のものはサポートしておらず、主にモバイル ブラウザーの最適化に関心があります。

更新: 興味深いことに、Google マップ API を使用している場合、スクリプトの読み込み手法を使用できないことがわかりました。マップ API はdocument.write他のスクリプトをロードするために使用するため、遅延スクリプトまたは非同期スクリプトでは使用できず、DOM にも挿入できませんdocument.write。Google が独自の推奨事項に従っているとよいでしょう。

4

1 に答える 1

0

async最新のブラウザーで属性を使用して、ロード中にスクリプトがブロックされるのを防ぐことができます。

<script async
  src="https://maps.googleapis.com/maps/api/js?sensor=false&callback=apiloaded">
</script>

このdefer属性は、ページ DOM が完全にロードされるまでまったくロードしないことを示します。Defer は非同期を意味します。

古いブラウザのサポートについては、リンクしたページ速度コードが正しいです。

Google Maps API では、API を非同期で読み込むときにコールバック パラメータを使用する必要があります。document.writeこれにより、APIは内部呼び出しではなく動的スクリプト挿入を使用します。空のコールバック パラメータも指定できます。

ページ速度に関する注意

ページ速度は、Web サイトの最適化に役立つ優れたツールです。asyncMaps API を並行してダウンロードできるようにするため (ノンブロッキング) 、属性をリストしました。ページ速度の推奨事項は、読み込み時間を短縮する最も一般的な方法を示している場合がありますが、これが唯一の方法ではないことは間違いありません。

地図の読み込み時間の最適化

于 2013-11-17T00:41:25.633 に答える