2016.12.05 Frontrend Vol.8
Web アプリケーション開発を専門とするソフトウェアエンジニア。企業で働く傍ら、技術顧問として複数企業のエンジニアリングに関わり、高品質で維持しやすい Web アプリケーションを作るための活動を続けている。
これから必要になるリソースを <link> 要素で定義し、それをブラウザが 投機的に 取得する機能
<link>
現在のページロードを邪魔しないように、ブラウザがアイドルの時に必要になるリソースをロードしてもらう
<link rel="dns-prefetch" href="//example.com">
<link rel="preconnect" href="//example.com"> <link rel="preconnect" href="//cdn.example.com" crossorigin>
<link rel="prefetch" href="//example.com/next-page.html" as="html" crossorigin="use-credentials"> <link rel="prefetch" href="/library.js" as="script">
as
link rel=preload href=...
audio
video
script
link rel="stylesheet"
@import
@font-face
img
picture
srcset
-image
他には worker, embed, object, documenet などがある
worker
embed
object
documenet
<link rel="prerender" href="//example.com/next-page.html">
fetchpriority
<link rel="dns-prefetch" href="//widget.com" fetchpriority="high"> <link rel="preconnect" href="//cdn.example.com" fetchpriority="low"> <link rel="prefetch" href="//example.com/next-page.html" fetchpriority="auto">
high
low
auto
prerender
prefetch
preconnect
dns-prefetch
chrome://net-internals/#prerender
const link = document.createElement('link'); link.rel = 'prerender'; link.href = document.querySelector('a').href; document.head.appendChild(link);