2009-05-06 1 views
1

Zuerst habe ich diese "Operation Aborted" Fehler/Bug für was scheint wie Wochen, also hier sind ein paar Fragen und gute Artikel, wenn Sie nicht sind mit ihm vertraut:IE Operation Aborted - Keine der regulären Fixes funktioniert

Why does ASP.NET cause the “Operation Aborted” Error in IE7? (so Frage)
Detecting cause of IE’s Operation Aborted Issue (so Frage)
Official Microsoft Knowledge base
Official IE Blog

hier ist mein Problem:

Zuerst habe ich versucht, alle meine <Skript> Elemente an das Ende meines Body-Tags zu bewegen. Hat nicht funktioniert. Dann habe ich alle meine js Funktionen auf eine externe Datei umgestaltet, die in <head> verlinkt ist, alle meine js Funktionen werden sowieso von onclick oder onkeypress aufgerufen. Erhalte immer noch den Fehler. Die letzte Zeile eines meiner Js-Dateien ist

document.onload = setTimeout("foo()",500); 

so zog ich, dass zu < body onload = "setTimeout ('foo()', 500);" >. Ich bekomme immer noch diesen Fehler. Ich weiß nicht, was ich machen soll. Die einzige Stelle, an der ich DOM-Elemente bearbeite, ist in foo(). Bitte helfen Sie!

Über mein Setup:

Java, Hibernate, Struts, JSPs ... Ich denke, dass ist alles, was relevant ist.

Was fehlt mir hier?

Vielen Dank im Voraus.

+0

Was ist also dein Problem? – geowa4

+0

mein Problem ist, dass ich immer noch den Fehler bekomme. –

Antwort

2

Dafür gibt es verschiedene Ursachen. Zwei der häufigsten sind:

1) Skripte versuchen, das DOM zu modifizieren, bevor das Dokument vollständig

2) Trailing commas in Objekt oder Array-Deklarationen

Nummer zwei in der Regel leicht geladen ist relativ zu finden, während Nummer eins viel härter ist. Im Allgemeinen ist der beste Weg, um IE Javascript Probleme zu finden, zu installieren Microsoft Script Debugger, so dass Sie zumindest sehen können, welche Linien das Problem verursachen. Mit dem Skriptdebugger stoppt der IE die Ausführung innerhalb des Browsers und kickt das Skript an eine Skriptdebuggerkonsole, die die Problemzeile anzeigt. Viel informativer als normale IE-Fehlermeldungen.

+0

Nebenbei stieß ich auf diese mit einer Facebook-Anwendung mit MooTools. Es war normalerweise ein Problem mit Code, der innerhalb des 'domready' Ereignisses lief. In 90% der Fälle wurde der Code in ein "onload" -Ereignis verschoben, das viel später ausgelöst wurde, nachdem das gesamte Dokument fertig war und nicht nur das dom. – zombat

+0

Visual Studio (Web Developer Express ist kostenlos, wenn Sie nicht die Vollversion haben) neigt dazu, für mich zuverlässiger als der Skript-Debugger zu arbeiten. Ein kurzes HowTo: http://www.berniecode.com/blog/2007/03/08/how-to-debug-javascript-with-visual-web-developer-express/ – steamer25

+0

@ steamer25 - ooh! glänzend! – zombat

0

Dieses Problem kann ein Bär auf einer großen Seite sein. Abgesehen von den Ratschlägen in den Artikeln, die Sie bereits haben, ist das Einzige, was ich hier vorschlagen kann, das Entfernen breiter Seiten der Seite in einer Entwicklungsumgebung, bis das Problem verschwindet. Verfeinere weiter, was auf der Seite ist/ist, bis du weißt, welcher Teil des Inhalts das Problem verursacht.

Ich habe tatsächlich eine Konfluenz zwischen zwei nicht verwandten Seitenelementen gesehen, die dieses Problem verursachen. Ich erinnere mich nicht genau, warum, aber der obige Ansatz, obwohl mühsam, funktionierte immer noch.

+0

Mein letzter Ausweg ... hoffe, es kommt nicht darauf an ... –

1

Bitte sehen Sie meine answer to this question in another thread. Ich liebe diesen kleinen Trick und er hat mich nie im Stich gelassen (wenn die Ursache DOM-Manipulation ist, bevor IE bereit ist, meine ich). Und wie es geschrieben wurde, betrifft es nicht die DOM-kompatiblen Browser.