2010-12-01 17 views
7

Así que hoy descubrí que puede usar <base href=""/> para especificar la URL base para las URL relativas. Parece tan asombrosamente conveniente, y me sorprende que no se mencione con más frecuencia. ¿Hay alguna razón para no usarlo? No es nada nuevo, ¿verdad?¿Qué tan bien respaldado está <base>? ¿Debo usarlo?

+1

Lo he usado por más de 15 años. Yo diría que estás seguro de usarlo. – Gabe

+0

@Gabe/cualquier otra persona que lo haya usado - ¿Alguno de ustedes puede arrojar algo de luz sobre escenarios/casos de uso en los que se usa comúnmente la base? Debo admitir que estoy luchando un poco para entender los escenarios donde se usa. – InSane

+0

InSane: el caso de uso más común para '' es el almacenamiento en caché. Por ejemplo, el caché de Google o cuando le pides a tu navegador que guarde una página web en tu escritorio. En ambos casos, desea que las imágenes, los scripts, etc. provengan del servidor original, de modo que el código que guarda la página colocará una etiqueta '' en la parte superior. – Gabe

Respuesta

1

Es parte del HTML 4.01 specification (y también el último borrador del HTML 5 spec). Eres bueno para ir.

De section 12.4 de la especificación HTML 4.01:

este atributo especifica un URI absoluto que actúa como la base URI para resolver URIs relativos.

+0

También es [parte de HTML5] (http://www.w3.org/TR/html5/semantics.html#the-base-element), por lo que me sentiría seguro sabiendo que los navegadores modernos lo soportan constantemente. –

0

En términos de soporte de navegadores no debería tener ningún problema como se ha dicho. Una palabra de precaución es que me ha causado confusión al depurar cosas. Debido a que se usa tan poco, descubrí que no me había dado cuenta y me confundía mucho sobre cómo funcionan las cosas cuando el archivo no existe, etc. Sin embargo, mientras no sea un problema de legibilidad, diría ve a por ello. :)

También asegúrese de usarlo correctamente. Creo que las versiones anteriores de IE solían permitirle marcar solo ciertas partes de su página con la etiqueta base y solo aplicar esa base a los elementos que contenía. Creo que esto no es ampliamente compatible y solo la aplicación a nivel de página de este elemento es válida. Consulte el enlace de especificaciones de Donut para obtener detalles sobre cómo usarlo y, como siempre, tenga cuidado con la información desactualizada/incorrecta en la red. :)

0

Motivo por el que no se lo usa: posiblemente agregue complejidad.

Dependiendo de la complejidad existente de su sitio, si está usando plantillas, etc., adiciones posteriores, modificaciones o complementos que requieren recursos no pueden esperar una ruta relativa alterada. O al revés, es posible que inadvertidamente agregue dependencias, similar a la "codificación difícil" en otros aspectos de programación.

Salvo esto, funciona, y debe estar bien en su uso. (No, no tuve que hacerlo.)

Cuestiones relacionadas