2009-08-11 4 views
0

Ich habe eine Info-Seite, die ich in reinem HTML geschrieben habe.Wie benutzt man <base /> um Links umzuleiten?

Alle Bild-Links sind in etwa so:

< img src = "/ images/image.png"/> so dass they refer to the root of the web site.

Allerdings möchte ich die Seite mit den eingebetteten Bildern betrachten, bevor ich sie aktualisiere. In Chrom, < img src = "/ images/image.png"/> sieht in Datei: /// c:/imgs /. Ich möchte dies jedoch in Datei: /// C:/web/site/imgs/umleiten.

Ich versuche <base > vergebens zu verwenden.

Antwort

1

Sie können <base> nicht verwenden, wenn Ihre URLs absolut so sind. Hier sind ein paar Alternativen:

Lösung # 1: Verwenden Sie den Windows-subst Befehl einen Laufwerksbuchstaben für "root" Verzeichnis zu machen:

subst R: C:\web\site 

dann Ihrem Browser an R-Punkt: \

Lösung # 2: Installieren Sie einen Webserver mit der Root-Konfiguration C:\web\site, und zeigen Sie Ihren Browser darauf.

Die Verwendung eines echten Webservers ist eine viel bessere Möglichkeit, eine Website zu testen - Dinge wie die JavaScript-Sicherheitsrichtlinien des Browsers unterscheiden sich erheblich zwischen lokalen Dateien und Dateien, die über einen Webserver gelesen werden.

1

Sie müssen die Bildpfade zu relativen URLs ändern, wenn Sie möchten, dass das < BASE> -Tag sowohl die Domäne als auch den Ordnerpfad ändert.

2

<base > betrifft nur seitenrelative Links. Es "täuscht" vor, dass sich Ihre Seite an einem anderen Ort befindet, daher beziehen sich die Adressen, die relativ zur Seite angegeben werden, auf diesen neuen Ort.

Ihre Adressen sind nicht relativ zur Seite. Unabhängig davon, wo innerhalb file:/// Sie sagen, die Seite ist, sind die Bilder ganz klar als gegeben "/ Bilder/..."

Auf den meisten Plattformen ist die Einrichtung eines einfachen Web-Server auf localhost ziemlich einfach. (Mac OS X wird standardmäßig mitgeliefert, was nichts anderes erfordert als ein Kontrollkästchen in den Systemeinstellungen zu aktivieren.) Wenn Sie einen solchen Server für die Entwicklung einrichten, können Sie die Website unter http://localhost/ aufrufen und dieses "relative Links" -Problem lösen.

Wenn diese Lösung nicht praktikabel ist, können Sie Aliase oder Symlinks einrichten, um die serverbezogenen Links, die Sie bereits verwenden, korrekt zu machen. Das ist ein bisschen hackisch.

0

allererst müssen Sie sicher sein, dass die Eigenschaft href Inhalt des Basisenden mit /

zum Beispiel:

<base href="file:///C:/web/site/imgs/" /> 

gegeben, dass Base wird das Verhalten aller relativ URIs ändern in Ihre Seite, so wird <img src="/images/image.png" /> weiterhin file:///images/image.png, aber

<img src="images/image.png" /> 
Punkt

wird jetzt auf file:///C:/web/site/imgs/images/image.png zeigen.

Verwandte Themen