¿Puedo omitir el nombre de dominio para href en la etiqueta base HTML?


8

Actualmente en mi sitio web, uso una etiqueta base HTML para acortar las URL en las etiquetas de anclaje. Todas las URL de mi sitio pertenecen a un dominio. Para cumplir al 100%, uso una URL absoluta. por ejemplo:

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

Miré en Internet para ver si de alguna manera puedo acortar esto y hacer que funcione en los navegadores inventados en los últimos 10 años. Quería hacer algo como:

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

Mi pregunta es, si usara el código anterior, ¿se romperían los principales navegadores como Internet Explorer? ¿O hay errores en los principales navegadores con el acortamiento de esta etiqueta? Quiero intentar omitir el nombre de dominio pero hacer que mi sitio siga funcionando con todos los navegadores creados en los últimos 10 años, incluso si eso significa incluir una etiqueta especial para un navegador específico, tal vez necesite algo como:

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

¿Cuál es la solución aquí? ¿podría salirse con la suya omitiendo el dominio y cada navegador estaría contento o tengo que hacer algo especial para ciertos navegadores para acomodar mi idea?

Respuestas:


6

No. El href debe apuntar a un URI absoluto . El pariente no está permitido en un elemento base.

Este atributo especifica un URI absoluto que actúa como el URI base para resolver los URI relativos.

El estándar HTML5 dice , en referencia al atributo href de <base>:

La URL base del documento de un objeto Document es la URL absoluta


1
No tienen que ser absolutos de acuerdo con esto : "La URL base que se utilizará en todo el documento para direcciones URL relativas ... Se permiten URI absolutos y relativos".
Stephen Ostermiller

Ser capaz de especificar URI relativos parecería ser un cambio en HTML5. La especificación para HTML 4.01 ciertamente establece que esto debería ser un URI absoluto. ¡Esto podría ser una preocupación para el OP si desean admitir navegadores de "10 años"?
MrWhite

@StephenOstermiller Bueno, en cambio, veamos el estándar que establece que href debe contener una "URL de documento" y una URL de documento se define como "la URL absoluta". Si hay diferencias, ahora, en comparación con HTML 4.01 , como lo señala w3dk, entonces no lo sé y no me he molestado en mirar.
Rob

1
Creo que necesita leer el documento un poco más ... "La URL base del documento de un objeto Document es la URL absoluta obtenida al ejecutar estos subpasos: " ... "la URL base del documento es la URL base congelada del primer elemento base en el documento que tiene un atributo href ". Desafortunadamente, el documento WhatWG no parece explicar más (al menos el enlace interno para "URL base congelada" no tiene punto final).
MrWhite

1
Pero la especificación en w3.org explica más detalladamente : "Para establecer la URL base congelada , resuelva el valor del atributo de contenido href del elemento en relación con la URL base alternativa del documento; si esto tiene éxito, configure la URL base congelada en el absoluto resultante URL ". La "URL base de respaldo del documento" es básicamente la URL absoluta del documento actual. Es un poco prolijo, pero supongo que ahora puede usar URL relativas en el elemento BASE. La URL absoluta correspondiente se resolvería a partir de esto.
MrWhite
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.