こんにちは、フリーランスエンジニア歴6年のしょーごです。 みなさん静的サイトにフォームの埋め込みを行う際、これまで難儀しなかったでしょうか? 私は最初はフォームの実装方法がわからず、フォームのためにわざわざWordPressを埋め込むほどでした。
ディップ Advent Calendar 2017 の5日目です。 JavaScriptはその処理内容自体もパフォーマンスチューニングの対象になりますが、HTML側での<script>タグの書き方も大事です。 レンダリング前のプロセス ブラウザが描画の前にやっていること ブラウザはHTMLをサーバーからダウンロードすると、その内容をパース(解析)してDOMツリー(文書構造の内部表現)を構築する。 <script>タグによるパースの中断 HTMLパーサーは、パースの途中で<script>タグがあるとそのスクリプトを実行し終わるまで一時的にパースを中断する。 src属性がある場合(外部JavaScript)はサーバーにリクエストし、ダウンロードして実行するので、その分中断時間が長くなる。 <script>タグを</body>の前に記述するのがセオリーなのはこのため。 なぜパースが中断されるのか
Googleのサービス「PageSpeed Insights」の解析結果で「修正が必要:スクロールせずに見えるコンテンツのレンダリングをブロックしている JavaScript/CSS を排除する」という項目があります。 レンダリング中にJavaScriptを読み込むことで、画面表示に遅延が生じているという警告のようです。 (CSSについては別途考えます) そこで、HTML5から追加された属性「async」と「defer」を使って、スクリプトの読み込みを非同期にし、画面表示の高速化を図ってみたいと思います。 概要 HTMLのソースは上から順に解析されます。 ソース上部に大量のJavaScriptを読み込んだ場合、その読み込みに時間がかかる分だけ画面の表示が遅くなります。 少し前までは、JavaScriptはhead部分ではなく、bodyの閉じタグの直前で読み込むことが奨励されていました。 読
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く