URL.createObjectURL() 静的メソッドは、引数で指定されたオブジェクトを表す URL を含む DOMString を生成します。 URL の寿命は、それを作成したウィンドウ内の document と結び付けられています。新しいオブジェクトの URL新しいオブジェクトの URL は、指定された File オブジェクトか Blob オブジェクトを表します。

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

註: この機能は Web Workers 内で利用可能です。

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

構文

objectURL = URL.createObjectURL(object);

引数

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

返値

object で指定された内容を参照するために使用されるオブジェクト URL を含んだ DOMString です。

画像を表示するためのオブジェクト URL の使用を参照してください。

使用上のメモ

メモリ管理

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

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

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

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

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

仕様書

仕様書 状態 備考
File API
createObjectURL() の定義
草案 初回定義
Media Source Extensions
URL の定義
勧告

MediaSource 拡張

Older versions of this specification used createObjectURL() for MediaStream objects; this is no longer supported.

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung Internet
基本対応
実験的
Chrome 完全対応 8Edge 完全対応 12Firefox 完全対応 4
補足
完全対応 4
補足
補足 createObjectURL() is no longer available within the context of a ServiceWorker.
IE 完全対応 10Opera 完全対応 15Safari 完全対応 6WebView Android ? Chrome Android 完全対応 18Edge Mobile ? Firefox Android 完全対応 4
補足
完全対応 4
補足
補足 createObjectURL() is no longer available within the context of a ServiceWorker.
Opera Android 完全対応 15Safari iOS 完全対応 6Samsung Internet Android ?
No longer accepts MediaStream objectChrome ?
補足
?
補足
補足 See here for progress on deprecation.
Edge ? Firefox 完全対応 62IE ? Opera ?
補足
?
補足
補足 See here for progress on deprecation.
Safari ?
補足
?
補足
補足 See here for progress on deprecation.
WebView Android ? Chrome Android ?
補足
?
補足
補足 See here for progress on deprecation.
Edge Mobile ? Firefox Android 完全対応 62Opera Android ?
補足
?
補足
補足 See here for progress on deprecation.
Safari iOS ?
補足
?
補足
補足 See here for progress on deprecation.
Samsung Internet Android ?

凡例

完全対応  
完全対応
実装状況不明  
実装状況不明
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
実装ノートを参照してください。
実装ノートを参照してください。

関連情報

ドキュメントのタグと貢献者

このページの貢献者: mfuji09, YuichiNukiyama, fscholz, ethertank, chatarouxxx
最終更新者: mfuji09,