onerror-Eventhändler funktioniert nicht ...
sitomp
- javascript
Hi,
bei dem Aufruf folgender Seite:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<img src="gibtsnicht.gif" onerror="alert('an dieser Stelle
sollte eine Grafik stehen,\n doch leider kann sie nicht angezeigt werden!');">
</body>
</html>
gibt mein Browser keine alert-Meldung aus!?
"gibtsnicht.gif" gibts natürlich nicht!
Die Web-Konsole von Firefox meint nur:
SyntaxError: unterminated string literal (LAB2.htm:1)
Was für mich keinen Sinn ergibt, aber warscheinlich auch nichts mit dem onerror-Problem zutun hat.
Bekommt ihr bei der html-site eine alert? Was läuft schief?
Danke für eure Antworten.
sitomp
Hi,
<img src="gibtsnicht.gif" onerror="alert('an dieser Stelle
sollte eine Grafik stehen,\n doch leider kann sie nicht angezeigt werden!');">
> Die Web-Konsole von Firefox meint nur:
>
> ~~~html
> SyntaxError: unterminated string literal (LAB2.htm:1)
>
Der Inhalt des alert ist eine JavaScript-Zeichenkette, und die kannst du nicht einfach so über Zeilenenden hinweg notieren.
Entweder
MfG ChrisB
Ja, das war es. Danke :)
Hi,
bei dem Aufruf folgender Seite:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<img src="gibtsnicht.gif" onerror="alert('an dieser Stelle
sollte eine Grafik stehen,\n doch leider kann sie nicht angezeigt werden!');">
Zeilenumbrüche in einem JavaScript-String-Literal in einem HTML-Attribut solltest du vermeiden.
Am besten lagerst du den JavaScript-Code aus, anstatt ihn in ein Attribut zu schreiben, und nutzt Event-Handling, um den error-Event zu überwachen:
[link:http://molily.de/js/event-handling-grundlagen.html]
[link:http://molily.de/js/event-handling-fortgeschritten.html]
Prinzipiell wäre folgendes möglich, ich würde aber davon abraten:
[code lang=html]<img src="…" onerror="alert('Hallo \ Welt')">
Zwischen den Attributen sind Zeilenumbrüche unproblematisch:
~~~html
<img src="…"
onerror="alert('Hallo Welt')">
SyntaxError: unterminated string literal (LAB2.htm:1)
>
> Was für mich keinen Sinn ergibt, aber warscheinlich auch nichts mit dem onerror-Problem zutun hat.
Doch, das ist ein Syntaxfehler, der dafür sorgt, dass der Code nicht geparst, geschweige denn ausgeführt werden kann. Das ist höchstwahrscheinlich die Ursache deines Problems.
Mathias
--
[Chaplin.js - JavaScript application architecture on top of Backbone.js](http://chaplinjs.org/)