'[nwtgck (ja) (@nwtgck_ja)] a タグの download 属性があると Service Worker を経由しないという知見を得た。厳密には Chrome と Safari は Service Worker を経由しない。Firefox は経由する。'

2023-01-02

https://twitter.com/nwtgck_ja/status/1609213963564380171

Service Worker を使ってダウンロードするコンテンツを動的に決定するのはこの技術を利用している。

https://scrapbox.io/nwtgckファイルの...

https://twitter.com/nwtgck_ja/status/1609220616309338112

目的は、Safari のダウンロードが他のブラウザ挙動が異なりそれを安定させること。動的なコンテンツをダウンロードを安定させるには、a タグをユーザーが本当にクリックしたことを起点にするのが一番だという結論になった。

Blob にするのを避けるのは巨大なファイルも想定しているから。

https://twitter.com/nwtgck_ja/status/1609222213181505539

さらに詳しくわかってきた。download 属性を付けると Desktop Safari 16.1 は Service Worker を経由しないが、iOS Safari 16.1 は経由する。

https://twitter.com/nwtgck_ja/status/1609263649880961025

知見だ。