Resolving relative references to a URL
Hàm khởi tạo URL() hoặc phương thức tĩnh URL.parse() của URL API có thể được sử dụng để giải quyết tham chiếu tương đối và URL cơ sở thành URL tuyệt đối.
Cả hai phương thức nhận tối đa hai đối số chuỗi và trả về đối tượng URL() đại diện cho URL tuyệt đối. Đối số đầu tiên đại diện cho URL tuyệt đối hoặc tham chiếu tương đối đến URL, trong khi đối số thứ hai là URL cơ sở được sử dụng để giải quyết tham chiếu tương đối nếu một tham chiếu được chỉ định trong đối số đầu tiên. Các phương thức giải quyết tham chiếu tương đối theo cùng một cách, ngoại trừ hàm khởi tạo URL() ném lỗi nếu URL không hợp lệ được truyền vào, trong khi parse() trả về null.
Tương đối với thư mục hiện tại
Tham chiếu tương đối có tiền tố ./ hoặc không có tiền tố, chẳng hạn như ./article, article, hoặc ./article/, là tương đối với thư mục hiện tại của URL được đại diện bởi đối số base.
log(new URL("./article", "https://test.example.org/api/").href);
// => https://test.example.org/api/article
log(new URL("article", "https://test.example.org/api/v1").href);
// => https://test.example.org/api/article
Tương đối với thư mục cha
Tham chiếu tương đối có tiền tố ../, chẳng hạn như ../path, là tương đối với thư mục cha của thư mục hiện tại của URL được đại diện bởi đối số base.
log(new URL("../path", "https://test.example.org/api/v1/v2/").href);
// => https://test.example.org/api/v1/path
Tương đối với gốc trang web
Tham chiếu tương đối có tiền tố /, chẳng hạn như /path, là tương đối với gốc trang web của URL được chỉ định trong đối số base.
log(new URL("/some/path", "https://test.example.org/api/").href);
// => https://test.example.org/some/path