T!M: muss onError im für die ganze Seite gelten?

hallo,

Muss onError im für die ganze Seite gelten? Ich möchte einen bestimmten Bereich überwachen und nicht die ganze Seite! Ähnlich wie wenn man 'try catch' benutzt.
Ich hab es bis jetzt nur als 'window.onError' und in einem zB. img-tag gefunden?

danke

T!M

  1. Hallo,

    ich habe folgendes Beispiel gefunden, vielleicht hilft es Dir:

    "Dieses Beispiel schaltet alle Fehlermeldungen ab, spezifiziert jedoch für das Bild eine eigene Fehlerbehandlungsroutine, die dann auch gerufen wird.

    <script language="javascript">
    window.onerror=null;

    function imgErrorFunc() {
    alert("Bild ist fehlerhaft.");
    }
    </script>

    <img name="bild1" src="bad.gif"
         onError="imgErrorFunc();">
    <img name="bild2" src="bad.gif">
    "

    Gruß, Bolli

  2. hallo,

    Hi!

    Muss onError im für die ganze Seite gelten? Ich möchte einen bestimmten Bereich überwachen und nicht die ganze Seite! Ähnlich wie wenn man 'try catch' benutzt.

    Der Event-Handler gilt für eine ganze Seite und kann auch nicht direkt in einem Tag verwendet werden.

    Ich hab es bis jetzt nur als 'window.onError' und in einem zB. img-tag gefunden?

    ??

    Als Alternative gibt es allerdings, wie von dir erwähnt, die try catch Anweisung. Diese funktioniert ab IE5, NE6, OP5 und fängt die Fehler halt blockbasiert ab.

    Schöne Grüsse,
    Elmar

    1. Der Event-Handler gilt für eine ganze Seite und kann auch nicht direkt in einem Tag verwendet werden.

      Das ist so nicht korrekt! Im img tag zB geht's! steht auch im selfHTML
      <img src="dgdg.gif" onError="alert("bild konnte nicht geladen werden")">

      Als Alternative gibt es allerdings, wie von dir erwähnt, die try
      catch Anweisung. Diese funktioniert ab IE5, NE6, OP5 und fängt
      die Fehler halt blockbasiert ab.

      Ja, und das ist ja auch mein Problem... Es sollte auf möglichst allen Browsern laufen!

      trotzdem danke

      T!M

      1. hi,

        Als Alternative gibt es allerdings, wie von dir erwähnt, die try
        catch Anweisung. Diese funktioniert ab IE5, NE6, OP5 und fängt
        die Fehler halt blockbasiert ab.

        Ja, und das ist ja auch mein Problem... Es sollte auf möglichst allen Browsern laufen!

        Schau Dir das mal an: hier soll per JS dem opener des Popups eine neue URL zugewiesen werden - falls Opener noch da ist. Die meisten Browser kennen die Eigenschaft closed, loesen also keinen Error aus. IE4 kennt sie jedoch nicht, ein Error wird ausgegeben.
        In dieser Funktion wird der Error abgefangen und _nach_ der eigentlichen Anweisung wieder freigegeben. Dabei gibt es Unterschiede, ob Browser ein return false oder true brauchen, musst Du testen. Dieses Beispiel war, wie erwaeht, fuer IE4 gedacht.

        Gruesse  Joachim

        function opUrl(page) {
         onerror =  function(){
          alert("ups, leider haben Sie das andere Browserfenster schon geschlossen");
          return true;
            }
         if(opener && !opener.closed && opener.neufenster) {
          opener.top.content.location.href = page;
          self.close();
         }
         else alert("ups, leider haben Sie das andere Browserfenster schon geschlossen");
         onerror = function(){
          return false;
         }
        }

      2. Der Event-Handler gilt für eine ganze Seite und kann auch nicht direkt in einem Tag verwendet werden.

        Das ist so nicht korrekt! Im img tag zB geht's! steht auch im selfHTML
        <img src="dgdg.gif" onError="alert("bild konnte nicht geladen werden")">

        Gut, bis auf den IMG-Tag. Bringt einen in 99% aller Fälle nicht weiter. In der IX-Edition von Stefan Koch´s JavaScript steht, das es in KEINEM Tag funktioniert. Deswegen die obige Aussage.

        Als Alternative gibt es allerdings, wie von dir erwähnt, die try
        catch Anweisung. Diese funktioniert ab IE5, NE6, OP5 und fängt
        die Fehler halt blockbasiert ab.

        Ja, und das ist ja auch mein Problem... Es sollte auf möglichst allen Browsern laufen!

        Na dann, viel Glück. Zum Glück führen in JavaScript immer viele Wege zum Erfolg.