Firefox 121 for developers
このページでは、開発者に影響する Firefox 121 の変更点をまとめています。Firefox 121 は、米国時間 2023 年 12 月 19 日 にリリースされました。
ウェブ開発者向けの変更点一覧
HTML
-
<iframe>
要素の 遅延読み込み をサポートしました。特定の<iframe>
要素が、表示されたときに限り読み込まれるべきであると開発者が示すことができます。これはページを読み込むときに取得しなければならないリソースを削減する (一部の<iframe>
要素を取得する必要がない) ことで、最初の読み込み時間を短縮できます。 このヒントは<iframe>
要素のloading
属性か、JavaScript でHTMLIFrameElement.loading
を使用して提供できます (Firefox bug 1622090)。
CSS
text-wrap
プロパティを、値balance
およびstable
をサポートするように更新しました。値balance
は見出しなど短いブロックのコンテンツで使用するもので、コンテンツが複数行にまたがるときにバランスがとれて読みやすくなります。値stable
は、編集可能なコンテンツをユーザーが編集するときにリフローしなくなります (Firefox bug 1731541)。- よく親セレクターと呼ばれる、
:has()
セレクターをサポートしました。これは開発者が、関連する要素に基づいて要素にスタイルを適用することを可能にします。たとえばli:has(ul)
はサブリストをを持つリストに、h1:has(+ p)
は直後に段落を持つ見出しにマッチします。 text-indent
CSS プロパティで、値each-line
およびhanging
をサポートしました (Firefox bug 784648)。開発者は、特定のテキストインデントスタイルをより簡単に指定できます。また開発者はより創造的に、text-indent
プロパティで複数の値を組み合わせることが可能になりました。例:text-indent: 3em hanging each-line
JavaScript
-
Promise.withResolvers()
静的メソッドをサポートしました。これは戻り値のPromise
と同じスコープでresolve
およびreject
コールバック関数を公開して、Promise を構築した後に解決または拒否するコードを定義できます (Firefox bug 1845586)。 -
Date.parse()
が追加の日付形式をいくつか受け入れるようになりました。-
YYYY-MMM-DD
形式で年が 9999 より大きい (例:19999-Jan-01
) (Firefox bug 1858851) -
MMM-DD-YYYY
形式 (例:Jan-01-1970
) (Firefox bug 1863489) -
ISO 形式でない日時でミリ秒 (例:
Jan 1 1970 10:00:00.050
) (Firefox bug 1863125) -
以前は拒否されていた、先頭に曜日がある形式。たとえば:
Wed, 1970-01-01
Wed, 1970-Jan-01
曜日が正確である必要はありません。たとえば
foo 1970-01-01
は動作します (Firefox bug 1617562)。
-
-
Date.parse()
のその他の修正:YYYY-M-DD
およびYYYY-MM-D
形式は、ISO 形式の日付YYYY-MM-DD
のように GMT であると想定しないようになりました (Firefox bug 1783731)。- すべての形式でミリ秒は四捨五入するのではなく、3 桁目より後を切り捨てるようになりました (Firefox bug 746529)。
API
WebTransportSendStream
インターフェイスのsendOrder
プロパティをサポートしました。WebTransport API の 双方向 ストリームの相対的な送信優先度を、ストリームの作成後に取得および変更できます。このプロパティは一方向ストリームの優先度変更には使用できません。Firefox は一方向ストリームをWebTransportSendStream
ではなくWritableStream
として実装しているためです (詳しくは Firefox bug 1853444 をご覧ください)。
DOM
- Android で、
HTMLInputElement.showPicker()
が<input type="week">
および<input type="month">
要素で動作するようになりました (Firefox bug 1853797)。
WebAssembly
- WebAssembly で、新たに
return_call
およびreturn_call_indirect
命令がcall
命令をを置き換えることによって末尾呼び出し最適化をサポートしました。これはパフォーマンスの向上、スタック領域使用量の削減、末尾呼び出しを使用するプログラミング言語との互換性向上をもたらします。(Firefox bug 1858855).
WebDriver conformance (WebDriver BiDi, Marionette)
WebDriver BiDi
- 閲覧コンテキストが破棄されたときに発生する
browsingContext.contextDestroyed
イベントを追加しました (Firefox bug 1694390)。 script.callFunction
およびscript.evaluate
コマンドの引数userActivation
をサポートしました。ユーザーアクションをエミュレートしている間に JavaScript を評価できます (Firefox bug 1845488)。browsingContext.userPromptOpened
イベントのdefaultValue
フィールドをサポートしました。プロンプトの既定値をユーザーが取得できます (Firefox bug 1851761)。browsingContext.captureScreenshot
コマンドの引数viewportOptions
をboxOptions
に改名しました (Firefox bug 1859258)。browsingContext.captureScreenshot
コマンドで引数origin
を採用して、scrollIntoView
を削除しました (Firefox bug 1862649)。browsingContext.captureScreenshot
コマンドで引数origin
をサポートしました。スクリーンショットの原点と範囲を定義できます。受け入れる値は"document"
と"viewport"
です (Firefox bug 1840999)。Window
オブジェクトをシリアライズするとき、Window
オブジェクトのコンテキスト ID を設定したプロパティcontext
が含まれるようになりました。これは特定のウィンドウやフレームを参照するために、Marionette との間で取り交わすことができます (Firefox bug 1841049)。- データ構造 (配列やマップなど) へ入れ子になったノードのシリアライズが失敗する不具合を修正しました (Firefox bug 1861000)。
browsingContext.navigate
コマンドが誤ったナビゲーション ID を返す場合がある不具合を修正しました (Firefox bug 1861655)。
Marionette
Window
およびFrame
オブジェクトのシリアライズとデシリアライズをサポートしました (Firefox bug 1274251)。
実験的なウェブ機能
以下の機能は Firefox 121 で新たに導入しましたが、デフォルトで無効です。これらを実験するには、about:config
ページで適切な設定項目を検索して true
に設定してください。実験的機能 のページで、さらに多くの機能を確認できます。
- カスタム要素の状態の擬似クラス:
dom.element.customstateset.enabled
-
カスタム要素は
states
プロパティを通して、CustomStateSet
として内部状態を公開できます。:--somestate
のような CSS のカスタム要素擬似クラスが、この要素の状態にマッチします。(Firefox bug 1861466) - HTML select 要素の
showPicker()
メソッド:dom.select.showPicker.enabled
-
HTMLSelectElement.showPicker()
メソッドはユーザー操作によって発生して、<select>
要素のブラウザーの選択ツールをプログラムから起動します。(Firefox bug 1854112)
アドオン開発者向けの変更点一覧
-
manifest.json の
background
キーにservice_worker
およびscripts
宣言が含まれているとき、バックグラウンドページが開始しない具合を修正しました (Firefox bug 1860304)。注記: ちなみに Chrome 121 の変更で、
service_worker
プロパティとともに指定したscripts
プロパティが無視されます。以前、Chrome は両方のプロパティを持つ拡張機能の読み込みを拒否していました (Chromium bug 1418934)。 詳しくはbackground
マニフェストキーのブラウザーサポート をご覧ください。
過去のバージョン
- Firefox 120 for developers
- Firefox 119 for developers
- Firefox 118 for developers
- Firefox 117 for developers
- Firefox 116 for developers
- Firefox 115 for developers
- Firefox 114 for developers
- Firefox 113 for developers
- Firefox 112 for developers
- Firefox 111 for developers
- Firefox 110 for developers
- Firefox 109 for developers
- Firefox 108 for developers
- Firefox 107 for developers
- Firefox 106 for developers
- Firefox 105 for developers
- Firefox 104 for developers
- Firefox 103 for developers
- Firefox 102 for developers
- Firefox 101 for developers
- Firefox 100 for developers
- Firefox 99 for developers
- Firefox 98 for developers
- Firefox 97 for developers
- Firefox 96 for developers
- Firefox 95 for developers
- Firefox 94 for developers
- Firefox 93 for developers
- Firefox 92 for developers
- Firefox 91 for developers
- Firefox 90 for developers