URL.createObjectURL() 静的メソッドは、引数で指定されたオブジェクトを表す URL を含む DOMString を生成します。 URL の寿命は、それを作成したウィンドウ内の document と結び付けられています。 新しいオブジェクト URL は、指定された File オブジェクトか Blob オブジェクトを表します。
オブジェクト URL を開放するには、 revokeObjectURL() を呼び出してください。
メモ: この機能はメモリリークを生み出す可能性があるため、サービスワーカー内で利用することはできません。
構文
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 |
ブラウザーの対応
このページの互換性一覧表は構造化データから生成されています。データに協力したいのであれば、 https://github.com/mdn/browser-compat-data をチェックアウトしてプルリクエストを送信してください。
| デスクトップ | モバイル | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
createObjectURL | Chrome 完全対応 8 | Edge 完全対応 12 | Firefox
完全対応
19
| IE 完全対応 10 | Opera 完全対応 15 | Safari 完全対応 6 | WebView Android 完全対応 あり | Chrome Android 完全対応 18 | Firefox Android
完全対応
19
| Opera Android 完全対応 14 | Safari iOS 完全対応 6 | Samsung Internet Android 完全対応 あり |
No longer accepts MediaStream object | Chrome
?
| Edge ? | Firefox 完全対応 62 | IE ? | Opera
?
| Safari
?
| WebView Android
?
| Chrome Android
?
| Firefox Android 完全対応 62 | Opera Android
?
| Safari iOS
?
| Samsung Internet Android ? |
凡例
- 完全対応
- 完全対応
- 実装状況不明
- 実装状況不明
- 実験的。動作が変更される可能性があります。
- 実験的。動作が変更される可能性があります。
- 実装ノートを参照してください。
- 実装ノートを参照してください。