URL: createObjectURL() 静的メソッド

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

メモ: この機能はウェブワーカー内で利用可能ですが、サービスワーカーでは使用できません。

createObjectURL()URL インターフェイスの静的メソッドで、引数で指定されたオブジェクトを表す URL を含む文字列を生成します。

URL の寿命は、それを作成したウィンドウ内の document と結び付けられています。 新しいオブジェクト URL は、指定された File オブジェクトか Blob オブジェクトを表します。

オブジェクト URL を解放するには、 revokeObjectURL() を呼び出してください。

メモ: この機能はメモリーリークを生み出す可能性があるため、サービスワーカー内で利用することはできません

構文

js
URL.createObjectURL(object)

引数

object

オブジェクト URL を生成するための File, Blob, MediaSource のいずれかのオブジェクトです。

返値

object で指定された内容を参照するために使用されるオブジェクト URL の入った文字列です。

オブジェクト URL で画像を表示を参照してください。

使用上のメモ

メモリー管理

すでにオブジェクト URL が生成されている場合でも、 createObjectURL() を呼び出す度に、新しいオブジェクト URL が生成されます。 必要がなくなったら URL.revokeObjectURL_static を呼び出して、それぞれを解放してください。

ブラウザーは、文書がアンロードされた際にこれらのオブジェクト URL をメモリーから解放します。しかし、性能とメモリー使用を考慮すると、明示的にアンロードできる安全な機会があるならば、そうするべきです。

メディアストリームのオブジェクト URL の使用

古いバージョンの Media Source 仕様書では、 <video> 要素にストリームを添付するには MediaStream にオブジェクト URL を生成する必要があるとしてます。 これはもう必要なく、ブラウザーはこのようにする対応を削除してきています。

警告: もし createObjectURL() でメディア要素にストリームを割り当てるコードが残っているのであれば、単純に srcObject を直接 MediaStream に設定するよう更新する必要があります。

仕様書

Specification
File API
# dfn-createObjectURL

ブラウザーの互換性

BCD tables only load in the browser

関連情報