Unterstützt IE das Basis-Tag nicht?

8

Ich bin nicht sicher, ob IE Unterstützung für das <base> -Tag hat. Einige Artikel legen nahe, dass es nur mit einem absoluten href-Pfad funktioniert. Aber es wird nicht für mich funktionieren.

%Vor%

Bei chrome und FF bringt mich der Klick auf den Link zu http://domain.net/qu/en/sample , aber in IE9 bringt es mich zu http://domain.net/qu/sample

Ich habe das auch mit einem relativen <base> versucht, und es scheint nicht zu funktionieren.

Ich habe das nur in IE9.08 getestet.

    
HyderA 30.04.2012, 06:28
quelle

2 Antworten

14

IE hat immer <base href> unterstützt. Nach den Spezifikationen wurde es immer nur definiert, wenn der href -Wert eine absolute URL ist, obwohl einige Browser ihn sogar im Fall einer relativen URL interpretiert haben. Es muss in den <head> -Teil des Dokuments gestellt werden; Andernfalls können Browser es ignorieren. Die Basisadresse kann nur einmal in einem Dokument festgelegt werden. (Wenn dies verletzt wird, neigen Browser dazu, alle bis auf die ersten zu ignorieren.)

In diesem Fall ist meine Vermutung, dass außerhalb des Tags ein Zeichen vor dem <base> -Tag steht. Bedenken Sie Folgendes:

%Vor%

Dies ist ungültig wegen des Leerzeichens vor dem <base> -Tag. Beim HTML-Parsing schließt der Leerstellenbereich, der kein Leerzeichen ist, implizit das <head> -Element und öffnet das <body> -Element. Dies bedeutet, dass das <base> -Tag jetzt in <body> wäre. Einige Browser akzeptieren es vielleicht immer noch, aber das in der Antwort von Tieson T zitierte Dokument sagt: "Internet Explorer 7 [und neuer] erzwingt strikt die Verwendung des Basis -Tags innerhalb des Kopfes des Dokuments und ignoriert falsch platzierte Tags. "

Um Dinge zu überprüfen, verwenden Sie einen Validator , der unter anderem Probleme wie diesen meldet.

    
Jukka K. Korpela 30.04.2012, 07:28
quelle
1

Laut Microsoft, IE 7 und neuer: Ссылка

    
Tieson T. 30.04.2012 06:50
quelle