2009-12-18 8 views
5

Ich habe ein kleines Web-Projekt, wo ich viele Seiten und eine Index/ToC-Datei habe. Die Toc-Datei befindet sich im Stamm meines Projekts in toc.html. Die Seiten sind über mehrere Unterverzeichnisse verteilt und enthalten den Tok mit iframe.Firefox: Kann ich einen relativen Pfad im BASE-Tag verwenden?

Das Projekt benötigt keinen Webserver, daher kann ich den HTML-Code in einem Verzeichnis erstellen und in meinem Browser durchsuchen. Das Problem ist, dass ich in XSS-Probleme renne, wenn JavaScript von der toc.html eine Funktion auf einer Seite aufrufen will (Verletzung der gleichen Ursprungsrichtlinie).

Also habe ich base Tags in der Kopfzeile mit einer relativen URL zu dem Verzeichnis, in dem toc.html. Dies funktioniert für Konqueror aber in Firefox, ich habe absolute Pfade verwenden oder die toc nicht einmal hier angezeigt :(ein Beispiel:

<?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> 

Dies ist Datei wird in einem Unterverzeichnis page Firefox wird nicht einmal. lade es und sage, dass es nicht finden kann

Gibt es einen Workaround? Ich möchte wirklich absolute Pfade in meinem Export zu vermeiden, um es überall gleich zu halten (lokal und wenn ich es später auf den Webserver hochladen)

+0

Ich habe das gleiche Problem gerade jetzt. Es scheint, dass Firefox "" -Tags, die auf relative Pfade verweisen, nicht berücksichtigt. Leider ist das erste Google-Ergebnis zu dieser Frage. – zneak

Antwort

7

In HTML4 benötigt <base> ein absolute URI. Jedoch seit HTML5 jetzt hat breite Unterstützung, es sollte erwähnt werden, dass die HTML5 <base> tag accepts an URL, die entweder absolut oder relativ sein kann; Dies bedeutet, dass Sie jetzt anstelle eines absoluten URI einen relativen Pfad verwenden können.

Verwandte Themen