--- title: URL slug: Web/API/URL tags: - API - Address - Domain - Interface - Location - Networking - Reference - URI - URL API - Web - hostname - href - origin translation_of: Web/API/URL ---
{{APIRef("URL API")}}
URL
インターフェイスは、{{glossary("URL", "URL")}} の解析、構築、正規化、およびエンコードに使用します。 URL のコンポーネントを簡単に読み取って変更できるプロパティを提供することで機能します。 通常、新しい URL
オブジェクトを作成するにはコンストラクターを呼び出すときに URL を文字列として指定するか、相対 URL とベース URL を指定します。その後、解析された URL のコンポーネントを簡単に読み取ったり、URL を変更したりすることができます。
ブラウザーがまだ {{domxref("URL.URL", "URL()")}} コンストラクターをサポートしていない場合は、{{domxref("Window")}} インターフェイスの {{domxref("Window.URL")}} プロパティを使用して URL
オブジェクトにアクセスできます。 対象とするブラウザーのいずれかに、この接頭辞を付ける必要があるかどうかを確認してください。
{{AvailableInWorkers}}
URL
オブジェクトを作成して返します。'#'
に続いて URL のフラグメント識別子を含む {{domxref("USVString")}}。':'
と URL のポートを含む {{domxref("USVString")}}。'/'
に続いて URL のパスを含む {{domxref("USVString")}}。':'
までを含めた URL のプロトコルスキームを含む {{domxref("USVString")}}。?
文字で始まるすべての引数が含まれます。search
で見つかった個々のクエリー引数にアクセスするために使用できる {{domxref("URLSearchParams")}} オブジェクト。href
プロパティと同じ文字列を返します。blob:
を含む URL で、その後にブラウザー内のオブジェクトを一意に識別する不透明な文字列が続きます。コンストラクターは、url
引数と、url
引数が相対 URL の場合にベースとして使用するオプションの base
引数を受け取ります。
const url = new URL('../cats', 'http://www.example.com/dogs'); console.log(url.hostname); // "www.example.com" console.log(url.pathname); // "/cats"
URL を構築するために URL のプロパティを設定できます。
url.hash = 'tabby'; console.log(url.href); // "http://www.example.com/cats#tabby"
URL は、{{RFC(3986)}} にあるルールに従ってエンコードされます。 例えば、次のとおりです。
url.pathname = 'démonstration.html'; console.log(url.href); // "http://www.example.com/d%C3%A9monstration.html"
URL のクエリー文字列を構築および操作するために、{{domxref("URLSearchParams")}} インターフェイスを使用できます。
現在のウィンドウの URL から検索引数を取得するには、次のようにします。
// https://some.site/?id=123 const parsedUrl = new URL(window.location.href); console.log(parsedUrl.searchParams.get("id")); // "123"
URL の toString()
メソッドは href
プロパティの値を返すだけなので、コンストラクターを使用して URL を直接に正規化およびエンコードできます。
const response = await fetch(new URL('http://www.example.com/démonstration.html'));
仕様書 | 状態 | 備考 |
---|---|---|
{{SpecName('File API', '#creating-revoking', 'URL')}} | {{Spec2('File API')}} | 静的メソッドの URL.createObjectURL() と URL.revokeObjectURL() の追加。 |
{{SpecName('URL', '#api', 'API')}} | {{Spec2('URL')}} | 初回定義 (URLUtils を実装)。 |
{{Compat("api.URL")}}