/ (Browser) Problem mit Opera
Klaus
- javascript
Hallo!
Ich habe eine ganz einfache Funktion geschrieben, die während ein Bild lädt ein animiertes Gif zeigt. Dann wird per onload-Tag im zuladenden Bild eine Funktion aufgerufen, die das Gif verschwinden lässt und das geladene Bild anzeigt.
Das zuladende Bild hat ein display:none. Und deswegen wird es von Opera nicht geladen. D.h. dass der onload-Befehl ins leere läuft. Kann ich Opera dazubringen das Bild trotzdem zu laden? Oder gibt es einen JS-Hack, der nur für Opera ist? Ich habe es schon mit width:0 und height:0 versucht, aber dann bekomme ich in allen Browsern immense Folgefehler. Das wäre dann mit Kanonen auf Spatzen... :)
Thx for help. Gruß, Klaus
Ich habe eine ganz einfache Funktion geschrieben, die während ein Bild lädt ein animiertes Gif zeigt. Dann wird per onload-Tag im zuladenden Bild eine Funktion aufgerufen, die das Gif verschwinden lässt und das geladene Bild anzeigt.
Es gibt keinen onload Tag.
Und Opera sollte keine Problme haben mit:
var img = new Image();
img.onload = function() { alert('Fertig.'); };
img.src = '....';
Struppi.
Hallo!
Danke für deine Hilfe!
Es gibt keinen onload Tag.
Und was ist mit dem hier:
<img onload="alert('Hallo')" src="foo.jpg" width="200" height"300">
Ist das etwa falsch? Dann würden, IE, FF und NN es falsch machen!?
Thx Klaus
Hallo Klaus.
Es gibt keinen onload Tag.
Und was ist mit dem hier:
<img onload="alert('Hallo')" src="foo.jpg" width="200" height"300">
Hierbei handelt es sich um ein img-Element, welches ein onload-Attribut enthält.
Ein onload-Tag sähe so aus:
<onload>
Und einen solchen gibt es in den gängigen HTML-Dialekten nun einmal nicht.
Einen schönen Sonntag noch.
Gruß, Mathias
Ups. Da hab ich doch glatt Attribut und Tag verwechselt.
Sorry.
Klaus
Hallo,
Ups. Da hab ich doch glatt Attribut und Tag verwechselt.
Ja, aber ein onload-Attribut gibt es im <img>-Tag auch nicht. Das machen Fx und IE einfach falsch. Siehe http://de.selfhtml.org/html/referenz/attribute.htm#img
Grüße
Jeena Paradies
Hallo,
ein onload-Attribut gibt es im <img>-Tag auch nicht.
Doch, es ist nur nicht standardisiert. Jedenfalls passiert beim img-Elementknoten ein load-Event.
Mathias
Hallo,
Doch, es ist nur nicht standardisiert. Jedenfalls passiert beim img-Elementknoten ein load-Event.
In praktisch allen Browsern? Das müsste ich doch wirklich glatt mal ausprobieren ...
... in den browsern die ich habe stimmt das sogar, nett. Dann wird es Zeit für die Standardisierung.
Grüße
Jeena Paradies
... in den browsern die ich habe stimmt das sogar, nett. Dann wird es Zeit für die Standardisierung.
in Netscape 3 und IE 4 hat das auch schon funktioniert, bei Opera weiß ich nicht ab welcher Version.
Struppi.
... in den browsern die ich habe stimmt das sogar, nett. Dann wird es Zeit für die Standardisierung.
in Netscape 3 und IE 4 hat das auch schon funktioniert, bei Opera weiß ich nicht ab welcher Version.
Überhaupt nicht :(
Grüße, Klaus
Hallo Klaus.
... in den browsern die ich habe stimmt das sogar, nett. Dann wird es Zeit für die Standardisierung.
in Netscape 3 und IE 4 hat das auch schon funktioniert, bei Opera weiß ich nicht ab welcher Version.
Überhaupt nicht :(
Doch, tut es.
Einen schönen Sonntag noch.
Gruß, Mathias
Hallo,
Doch, tut es.
Bei mir in der 9er Version auf jeden Fall auch.
Grüße
Jeena Paradies
Hallo Jeena.
Doch, tut es.
Bei mir in der 9er Version auf jeden Fall auch.
Angemerkt sei jedoch, dass der onload-Eventhandler nur dann feuert, wenn er direkt im HTML notiert wurde. Weder per addEventListener/attachEvent noch per setAttribute noch per Direktzuweisung wird die an den load-Event gekoppelte Funktion ausgeführt.
Einen schönen Sonntag noch.
Gruß, Mathias
Hallo nochmal.
Doch, tut es.
Bei mir in der 9er Version auf jeden Fall auch.Angemerkt sei jedoch, dass der onload-Eventhandler nur dann feuert, wenn er direkt im HTML notiert wurde. Weder per addEventListener/attachEvent noch per setAttribute noch per Direktzuweisung wird die an den load-Event gekoppelte Funktion ausgeführt.
Dies gilt für alle Browser.
Einen schönen Sonntag noch.
Gruß, Mathias
Doch, tut es.
Bei mir in der 9er Version auf jeden Fall auch.Angemerkt sei jedoch, dass der onload-Eventhandler nur dann feuert, wenn er direkt im HTML notiert wurde. Weder per addEventListener/attachEvent noch per setAttribute noch per Direktzuweisung wird die an den load-Event gekoppelte Funktion ausgeführt.
Dies gilt für alle Browser.
Bei mir gilt das bei keinem Browser:
var img = new Image();
img.onload = function()
{
alert('fertig.');
}
img.src = 'test.jpg';
Funktioniert in allen Browsern die ich habe.
var img = new Image();
img.addEventListener('load', function() { alert('fertig.'); }, true );
img.src = 'test.jpg';
Funktioniert im FF 1.5
var img = new Image();
img.attachEvent('onload', function() { alert('fertig.'); });
img.src = 'test.jpg';
Funktioniert im IE 6.
Hast du vielleicht ein nicht vorhandenes Bild benutzt?
Struppi.
Hallo Struppi.
Hast du vielleicht ein nicht vorhandenes Bild benutzt?
Nein, nur gänzlich ohne das Image-Objekt getestet.
Einen schönen Montag noch.
Gruß, Mathias
... in den browsern die ich habe stimmt das sogar, nett. Dann wird es Zeit für die Standardisierung.
in Netscape 3 und IE 4 hat das auch schon funktioniert, bei Opera weiß ich nicht ab welcher Version.
Überhaupt nicht :(
Quatsch, spätestens in OP 6, wenn nicht sogar schon in 5 geht das (ich hab nur den 7'er da und da klappt das einwandfrei)
Struppi.
Hallo!
Vielen Dank für eure Anteilnahme! Aber ich habe etwas ausprobiert, das in allen Browsern, bis auf Opera funktioniert. Hier der Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
function show(){
document.getElementById("pic").style.display = "block";
document.getElementById("load").style.display = "none";
}
</script>
</head>
<body>
<img src="loading.gif" width="126" height="22" id="load" alt="" style="display:block;">
<img src="pics/2.jpg" height="450" width="600" id="pic" alt="" style="display:none" onload="show()">
</body>
</html>
Das funktioniert beim besten Willen mit Opera nicht. Warum? Vielen Dank für die Hilfe! Klaus
Vielen Dank für eure Anteilnahme! Aber ich habe etwas ausprobiert, das in allen Browsern, bis auf Opera funktioniert. Hier der Code:
Ich hab grad keinen da zum testen, aber ich vermute es liegt einfach display:none, evtl. wird das Bild auch gar nicht geladen, was ja konsequent wäre. was passiert wenn du display:none nicht als inline style verwendest oder visibility oder width und height auf 0 setzt?
Struppi.
Hi!
Was passiert wenn du display:none nicht als inline style verwendest oder visibility oder width und height auf 0 setzt?
Mit visibility klappt es hervorragend und wird komplett geladen. Danke schön!
Grüße, Klaus
Nur der Heino und die Hannelore benutzen noch Opera, alle anderen benutzen den Internet-Explorer oder den Firefox.
Aber im Ernst, man sollte sich darauf konzentrieren, daß man für gängige Browser, Betriebssysteme und Auflösungen programmiert und das heißt zur Zeit: Internet Explorer oder Firefox, Microsoft und 1024x768 Pixel.
Damit hat man eine Abdeckung von min. 95% und außerdem wird es bei den meisten "Exoten" dennoch richtig angezeigt.
...und sollte mal ein User mit Opera, Linux und 800x600 Pixel kein
Bild angezeigt bekommen, dann ist es auch nicht so tragisch.
Hallo!
...und sollte mal ein User mit Opera, Linux und 800x600 Pixel kein
Bild angezeigt bekommen, dann ist es auch nicht so tragisch.
Sorry, aber mit der Aussage bist du gerade voll ins Fettnäpfchen getreten! ;-P Ich benütze Opera auf Windows und Linux. Das mit dem 800x600 ist bei mir zwar relativ selten, kann aber auch mal vorkommen. Insofern finde ich es schon tragisch...
Gruß, Klaus
:-)
Ja, häufig verwenden Spezialisten spezielle Kombinationen. Ich kenne aber so viele Leute die keinen blassen Schimmer von Computer haben und bei denen ist meistens alles "Standard".
Google mal "webstats" oder so ähnlich, es gibt ne ganze Reihe von Websiten die sich genau damit beschäftigen wer, was und wie benutzt.
http://www.webhits.de/deutsch/index.shtml?webstats.html