it-swarm.com.de

Meta-Refresh funktioniert nicht?

Ich habe eine Seite, die etwas in der Richtung von 

<meta http-equiv="refresh" content="0;url=http://example.com/" />

für bestimmte Benutzer auf einer bestimmten Workstation funktioniert dies jedoch nicht. Das ist im IE. Stimmt etwas mit Cookies oder einer Einstellung, die dazu führen könnte, dass dies fehlschlägt? Ich habe noch nie von so etwas gehört.

40
GBa

Das Problem ist, wenn IE das sieht: 

<meta http-equiv="refresh" content="0;http://www.example.com" />

es erwartet, dass das Inhaltsattribut eine Zahl enthält. Der einzige Zeitpunkt, zu dem IE nach einer URL sucht, ist, wenn das Inhaltsattribut "URL =" enthält. Die Weiterleitung, die in allen Browsern am besten verwendet werden kann, lautet: 

<meta http-equiv="refresh" content="0;URL=http://www.example.com" />

Das obige Beispiel würde sofort umleiten, aber wenn Sie die 0 für eine andere Nummer ändern, würde es so viele Sekunden warten. Ich hoffe, das alles macht Sinn, es sollte gut funktionieren, aber ich denke immer noch, dass meine erste Idee die bessere war.

73
Dave

Es gibt eine Sicherheitseinstellung in Internet Explorer, die keine Aktualisierung der Metatags zulässt. Es befindet sich auf der Registerkarte "Sicherheit". Wählen Sie dann "Benutzerdefinierte Ebene" und unter "Sonstiges" die Meta-Tag-Aktualisierung. Wenn dies deaktiviert ist, funktioniert die Meta-Aktualisierung nicht mehr.

Abgesehen davon, dass Sie es selektiv deaktivieren können, wird es automatisch deaktiviert, wenn Sie die Sicherheitsstufe des IE auf 'Hoch' setzen [beobachtet in IE9].

33
Austin

ist es eine wirklich alte Version von IE? Wenn ja, probiere es aus:

<meta http-equiv="refresh" content="0;url=http://example.com/"> </meta>

Es braucht einen weißen Raum. HTML-Editor wird sich beschweren, aber ignorieren Sie es einfach.

5
Cal

Überprüfen Sie diese Lösung. Es behandelt sowohl Javascript als auch Meta-Refresh gleichzeitig: Meta-Refresh und Javascript

3
Haluk

Das META-Tag ist kein leeres Tag und hat kein schließendes Tag in HTML, nur in XHTML. (Wenn Sie wirklich XHTML senden, funktioniert es auf älteren Versionen von IE ohnehin nicht richtig. Es gibt nur Problemumgehungen, um XHTML an ältere IE - Versionen zu senden.)

Versuchen:

<meta http-equiv="refresh" content="0;url=http://example.com/">

W3 Schulen META-Tag-Beschreibung

Sie könnten auch versuchen:

  1. Überprüfen der Haupt- und Nebenversionen von IE. Sie können dies über die Menüoption Hilfe-> Info tun.
  2. Der IE hat in der Vergangenheit alle durch Dateinamen und MIME-Typen verwirrt. Stellen Sie sicher, dass Sie Ihren HTML-Code als HTML- oder HTML-Erweiterungsdatei senden und dass diese Dateitypen auf Ihrem Server für das Senden von Text/HTML-Mimetyp eingerichtet sind.
  3. Stellen Sie sicher, dass Ihr Server keinen in Konflikt stehenden HTTP-Header für die Meta-Aktualisierung sendet.

Nur eine wilde Vermutung: Vielleicht sind auf diesen Maschinen einige Adblocker installiert, auf denen die Weiterleitung nicht funktioniert. Sie können sich keinen anderen Grund vorstellen, warum diese allgemeine Technik auf einigen Computern funktioniert, während sie bei anderen für Sie fehlschlägt.

0
Kosi2801

Für den Fall, dass jemand versucht, Meta-Refresh zur Umleitung auf eine neue URL in Facebook-Anwendungen (entweder Seiten-Tab-App oder IFRAME-App) umzuleiten, wird der Tag von Facebook irgendwie deaktiviert.

Problemumgehung ist:

<script>
top.window.location = 'http://example.com';
</script>

Denken Sie daran, "top" als Ziel festzulegen, da sich Facebook-Anwendungen in IFRAME befinden.

0
Raptor