Bisakah saya menghilangkan nama domain untuk href di tag dasar HTML?


8

Saat ini di situs web saya, saya menggunakan tag dasar HTML untuk mempersingkat URL dalam tag jangkar. Semua URL di situs saya milik satu domain. Untuk kepatuhan 100%, saya menggunakan URL absolut. sebagai contoh:

<base href="http://www.example.com/path/to/specialpage/">

Saya mencari di internet untuk melihat apakah saya dapat mempersingkat ini dan membuatnya masih berfungsi di browser yang ditemukan dalam 10 tahun terakhir. Saya ingin melakukan sesuatu seperti:

<base href="/path/to/specialpage/">

Pertanyaan saya adalah, jika saya menggunakan kode di atas, apakah browser utama seperti Internet Explorer akan rusak? atau ada bug di browser utama dengan pemendekan tag ini? Saya ingin mencoba menghilangkan nama domain namun membuat situs saya tetap berfungsi dengan setiap browser yang dibuat dalam 10 tahun terakhir, bahkan jika itu berarti termasuk tag khusus untuk browser tertentu, mungkin saya perlu sesuatu seperti:

<!-- firefoxpatchID=1 -->
<base href="/path/to/specialpage/">
<!-- endfirefoxpatch -->

Apa solusinya di sini? dapatkah saya menghilangkan domain dan setiap browser akan senang atau apakah saya harus melakukan sesuatu yang khusus untuk browser tertentu untuk mengakomodasi ide saya?

Jawaban:


6

Tidak . Href harus menunjuk ke URI absolut . Relatif tidak diperbolehkan pada elemen dasar.

Atribut ini menentukan URI absolut yang bertindak sebagai URI dasar untuk menyelesaikan URI relatif.

Standar HTML5 mengatakan , mengacu pada atribut href dari <base>:

URL dasar dokumen objek Dokumen adalah URL absolut


1
Mereka tidak harus mutlak menurut ini : "URL dasar yang akan digunakan di seluruh dokumen untuk alamat URL relatif .... URI absolut dan relatif diizinkan."
Stephen Ostermiller

Mampu menentukan URI relatif tampaknya merupakan perubahan dalam HTML5. Spesifikasi untuk HTML 4.01 tentu saja menyatakan ini harus merupakan URI absolut. Ini mungkin menjadi perhatian bagi OP jika mereka ingin mendukung browser lama "10 tahun ?!"
MrWhite

@StephenOstermiller Nah, sebagai gantinya, mari kita lihat standar yang menyatakan href harus berisi "URL dokumen" dan URL dokumen didefinisikan sebagai "URL absolut". Jika ada perbedaan, sekarang, dibandingkan dengan HTML 4.01 , seperti yang ditunjukkan oleh w3dk, maka saya tidak tahu dan saya tidak repot untuk melihatnya.
Rob

1
Saya pikir Anda perlu membaca dokumen sedikit lebih jauh ... "URL basis dokumen dari objek Dokumen adalah URL absolut yang diperoleh dengan menjalankan subtipe ini: " ... "URL basis dokumen adalah URL dasar beku dari yang pertama elemen dasar dalam Dokumen yang memiliki atribut href ". Sayangnya dokumen WhatWG tampaknya tidak menjelaskan lebih lanjut (setidaknya tautan internal untuk "URL basis beku" tidak memiliki titik akhir).
MrWhite

1
Tetapi spec di w3.org menjelaskan lebih lanjut: "Untuk mengatur URL basis beku , selesaikan nilai atribut konten href elemen relatif terhadap URL dasar fallback Dokumen; jika ini berhasil, setel URL dasar beku ke absolut yang dihasilkan URL ". "URL dasar fallback Dokumen" pada dasarnya adalah URL absolut dari dokumen saat ini. Ini agak bertele-tele, tapi saya anggap sekarang Anda dapat menggunakan URL relatif pada elemen BASE. URL absolut yang sesuai kemudian akan diselesaikan dari ini.
MrWhite
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.