2009-12-18 10 views
5

Tengo un pequeño proyecto web en el que tengo muchas páginas y un índice/archivo ToC. El archivo toc está en la raíz de mi proyecto en toc.html. Las páginas se distribuyen en un par de subdirectorios e incluyen el toc con un iframe.Firefox: ¿Puedo usar una ruta relativa en la etiqueta BASE?

El proyecto no necesita un servidor web, por lo que puedo crear el código HTML en un directorio y explorarlo en mi navegador. El problema es que me estoy encontrando con problemas de XSS cuando JavaScript desde el toc.html quiere llamar a una función en una página (violación de la misma política de origen).

Así que agregué base etiquetas en el encabezado con una URL relativa al directorio en el que toc.html. Esto funciona para Konqueror, pero en Firefox, tengo que usar rutas absolutas o el TOC ni siquiera se mostrará :(Aquí está un ejemplo:

<?xml version='1.0' encoding='utf-8' ?> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<base href="../" target="_top" /> 
<title>Project 1</title> 
</head> 
<body> 
<iframe class="toc" frameborder="0" src="toc.html"> 
</iframe> 
</body> 
</html> 

Este es el archivo está en un subdirectorio page Firefox ni siquiera. cargarlo, diciendo que no puede encontrar page/toc.html.

¿Hay alguna solución? Realmente me gustaría evitar caminos absolutos en mi exportación para mantenerlo igual en todas partes (localmente y cuando lo subo al servidor web más tarde)).

+0

Tengo el mismo problema ahora mismo. Parece que Firefox no tendrá en cuenta las etiquetas '' que apuntan a rutas relativas. Lamentablemente, el primer resultado de Google sobre el asunto es esta pregunta. – zneak

Respuesta

7

En HTML4, <base> necesita un absolute URI. Sin embargo, desde HTML5 ahora tiene un amplio soporte, se debe mencionar que el HTML5 <base> tag accepts an URL, que puede ser absoluto o relativo; esto significa que ahora puede usar una ruta relativa en lugar de una URI absoluta.

Cuestiones relacionadas