TransformStreamのPolyfillを入れるとStreamSaver.jsは動かなくなる
このPolyfillがStreamSaverに影響を及ぼし、今までStreamSaverが使えていたGoogle Chromeなどでダウンロードできないことがわかった。Netlifyのブランチデプロイして、見つけたので、https://piping-chunk.netlify.com/ には、TransformStreamのPolyfillなしでGoogle Chromeなどで、正常に動く。 そもそも、StreamSaverがSafariに対応していないため、Polyfillを入れようと言う考えはしなくてよかった。
ざっと読む感じFirefox Sendでは、以下の実装で、ストリーミングしながらダウンロードしている様子。StreamSaver同様Service Workerを使っている感じ。Firefox SendはSafariでも動くので、どういう仕組でうまく動くのか調べてみるのが良いかもしれない。
StreamSaverを読み解ことうしたは話は以下。
イコールではないかもしれないが、Safariで動かないということは、iOS用ブラウザでも動かない。確かAppleはどのブラウザもAppleが提供するキットを使えと強制していたはず。iOSブラウザで使えないのは、問題なので、良さそうな方法を調べたい。
あと数年したら、主要なブラウザでもっとサポートされていくと思っている。
(Node.jsでstreamの利便性はJavaScriptのエンジニアに伝わっていると思うので)