window.onload () feuert nicht mit IE 8 in der ersten Aufnahme
Ich versuche, meine Seiten korrekt mit IE 8, fand ich von hier: http://www.masykur.web.id/post/How-to-Make-Our-Website-to-be-Ready-for-IE8.aspx
das, meine Seite ist XHTML 1.0-kompatibel und wenigstens CSS 2.1 konform, ich habe meine Seite-und CSS-konform mit nur ein paar Warnungen, aber noch Fenster.onload() wird nicht gefeuert. Hat jemand diesem problem begegnet?
hier ist der Codeausschnitt:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=8"/>
<title>Testing</title>
<link rel="stylesheet" href="test.css" type="text/css"></link>
<script type="text/javascript" src="login.js"></script>
<script type="text/javascript" src="common.js"></script>
<script type="text/javascript">
window.onload = function()
{
//Not coming here at all on first shot
}
</script>
</head>
<body>
.
.
.
Jedoch bei Aktualisierung der Seite scheint es zu schaffen.
Bin ich hier etwas fehlt?
UPDATE:
Einer von den IE-addons erstellt, der dieses problem nach der Deaktivierung der seine Arbeit gut. Vielen Dank für Ihre Zeit und Antworten 🙂
Kommentar zu dem Problem
Wenn Sie die Datei öffnen, lokal, als aus dem Dateisystem, DH versuchen könnten, Sie zu schützen von Sicherheitsfragen?
ja, ich beschwere mich nicht darüber. Aber eine einfache HTML-Datei mit einem Fenster.onload funktioniert nicht mit IE 8, wenn ich einen webserver wie Apache und ich bin nicht in der Lage, herauszufinden, warum!
Gibt es flash-in yout Seite? Das flash-addon bewirkt, dass die problema. Mit einigen alten Versionen von flash player das problem nicht auftreten.
@Manohar Können Sie sagen, welches addon genau das problem ? Ich bin auch vor dem gleichen Problem mit dem IE9.
@BhavikAmbani, Es war eine benutzerdefinierte plugins, die wir entwickelt hatten, für einige Zwecke, die das problem verursacht. Die beste Lösung wäre entfernen alle plugins
InformationsquelleAutor der Frage Manohar | 2009-05-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
IE versuchen:
InformationsquelleAutor der Antwort George
Dies ist ein ziemlich Alter thread, aber ich habe eine Lösung gefunden, die vielleicht anderen helfen.
Ich war das hinzufügen einer Funktion zu
window.onload
über ein dynamisch eingefügtes Skript (wirklich zu imitieren, um ein externes Skript laden, aus Gründen, die nicht wichtig sind in diesem Zusammenhang). Wie bereits in diesem post, auf den ersten laden in IE8, diewindow.onload
würde nicht das Feuer, sondern alle nachfolgenden Anrufe würden.Fand ich heraus, dass, wenn ich diese in der HTML-Datei als interne Skript, es würde funktionieren immer:
Alle der oben genannten code tut, ist "initialisiert" IE8 die
window.onload
unauffällig. Ich vermute, dass der IE8 versagt auslösenwindow.onload
das erste mal, wenn es aufgerufen wird von einem externen Skript alsonload
Ereignis ist nicht angebracht noch-Fenster (oder in tech-Bedingungen, seine typeof undefined). Es scheint, dass das erste mal, dass das, was der IE8 macht: anbringenonload
zu Fenster, ohne die es richtig zu stellen.Den obigen code, dann wird ganz offensichtlich: Wir sind lediglich zwingen IE8 zu erkennen, die
onload
Veranstaltung. Wir kümmern uns nicht, was ausgeführt wird, und was nicht, sodass wir einfach nur sicherstellen, dass die Pipeline durch irgendeine vorhandenewindow.onload
code, der bereits definiert ist (nur als Vorsichtsmaßnahme).Ist es wichtig, diese als interne Skript in die HTML (zumindest von meinen Tests).
Ihre HTML würde so Aussehen (die relevanten Teile):
Von meinen Tests, nach dem löschen des cache und Neuladen der Seite, die ich erhalten habe
window.onload
erfolgreich auslösen, jedes mal.Ich hoffe, das hilft.
InformationsquelleAutor der Antwort Milan Adamovsky
Könnten Sie haben einen Fehler in der JavaScript ist, wenn das passiert, beliebigen JavaScript-Code wird nicht richtig funktionieren.
Versuchen Verweis zu entfernen login.js und common.js und versuchen Sie eine Warnung in die problematische Funktion.
InformationsquelleAutor der Antwort Ólafur Waage
Habe ich nicht den IE8, um persönlich zu testen, aber was bedeutet dieser test?
Wenn dieser test funktioniert wie erwartet, versuchen Sie die CDATA-bit um Ihre internen JavaScript-block.
Dann, wenn das nicht funktioniert wie erwartet, gibt es wahrscheinlich etwas in der externen JavaScript-darüber, dass Ihre onload von feuern. Die vorherigen poster erwähnt. An diesem Punkt, versuchen Sie, Ihre Fehler-Konsole oder im debugger den Weg zu weisen.
InformationsquelleAutor der Antwort Fran Corpier
onload ausgelöst, nachdem ALLE Inhalte geladen hat (einschließlich externe Bilder usw). Es ist möglich, diese Ressourcen nehmen eine lange Zeit zum laden auf das erste gehen (bevor Sie zwischengespeichert werden). Eine weitere Möglichkeit ist ein Fehler in Ihrem code, die sich nur auf IE als anhalten, Ihre Skripte (aber nur die erste Zeit ist ungerade).
InformationsquelleAutor der Antwort SpliFF
Wenn Sie unterschiedliche Ergebnisse unter Verwendung von Apache vs. andere web-server (IIS?) und vergleicht das Ergebnis mit IE8, dann die differrence muss im content-type-header gesendet wird. Erhalten Sie die wget-utility für Ihre Plattform und finden Sie die Kopfzeilen, die produziert werden. Wenn Sie auf Windows, dann die Portable Apps version der GUI für wget ist ganz nett.
InformationsquelleAutor der Antwort Tony Miller
Der folgende code funktioniert für mich. Wenn ich das laden der Seite im Firefox sehe ich die Warnung sofort. Als ich das erste laden der Seite im IE 8 es warnt mich über aktive Inhalte. Wenn ich die geblockten Inhalte es fragt mich, um zu bestätigen, was ich Tue. Dann wird die Warnung angezeigt, wie erwartet. Wenn dies nicht für Sie funktioniert, versuchen IE 8 auf einem anderen computer, oder starten Sie Beseitigung-code in Ihre Seite auf Fehler überprüfen. Sie können beispielsweise eine binäre Suche: kommentieren Sie die erste Hälfte der Seite und sehen Sie, wenn die Warnmeldung angezeigt wird; wenn es immer noch nicht, dann entfernen Sie die Kommentarzeichen aus der ersten Hälfte und kommentieren Sie die zweite Hälfte. Wiederholen Sie, bis Sie haben es eingeengt zu den fehlerhaften code. Übrigens brauchen Sie nicht XHTML-für den IE8 compliance. HTML funktioniert einwandfrei und hat tatsächlich einige Vorteile.
InformationsquelleAutor der Antwort Mr. Shiny and New 安宇
Ich weiß, das ist ein bisschen alt die Frage, aber ich konfrontiert die gleiche Sache.
anders behandelt als
Das Schlüsselwort hier ist
new
.Meine JS-war beenden, Wann immer es erreicht (onload= Teil), bis ich fügte hinzu, das Wort'new' vor 'Funktion'. Obwohl es funktionierte gut, ohne "neue" in meinem localhost, aber sobald ich es online, es funktioniert nicht, bis ich add 'neue'.
InformationsquelleAutor der Antwort MJoraid
Alte Frage, aber ich hatte das gleiche Problem, aber es stellte sich heraus, ein anderes problem zu sein. Mein problem war, dass ich
<script type="application/javascript">
die<IE9
nicht verstehen, oder versuchen zu starten, auch. Es funktioniert für ältere Browser, die Sie noch verwendentext/javascript
auch wenn dies nicht technisch den richtigen Typ...InformationsquelleAutor der Antwort OZZIE