Firefoxでは`Document.readyState`が仕様には存在しない`uninitialized`を示す事がある
documentの読み込み状態はDocument.readyState
で取得できますが、Firefoxでは以下仕様には存在しないuninitialized
を示す事があります。
loading
: ドキュメントを読み込み中interactive
: ドキュメントは読み込み完了しているが、まだ全てのリソースは読み込み中complete
: 全てのドキュメントの読み込みが完了
MDN: https://developer.mozilla.org/ja/docs/Web/API/Document/readyState
iframeの初期化の際にFirefoxだけ何故か挙動が安定しないという事があり、原因を調べていたところreadyStateに見たこと無い文字列が入っていた事から何だこれは?となりました。
ざっくり調べる限りでは基本的にはFirefoxのバグのようで、Bugzillaでも起票されていました。
https://bugzilla.mozilla.org/show_bug.cgi?id=1627844
どうやら歴史的な理由により古いFirefoxではuninitialized
を示す事があるとのことのようでしたが、ただ最新のFirefoxでもuninitialized
を示す事があるようです。
iframeなどドキュメントの初期化の際にはまぁまぁ影響があるので、complete
を示すまでポーリングして完全に読み込まれたか厳密に確認する必要がありそうです。