peterS.: immer noch AniGifs....

Beitrag lesen

gruss julis;

... der NN läd das bild ja vor, daher: keine Animation! wie kann ich den austricksen?

ich hab mal rumprobiert und komme zu dem schluss, dass dich der
netscape so richtig im stich laesst - nimm Dir mal das beispiel-
script vor, welches ich noch mit dranhaenge und probier mal rum;

* die 4er versionen von netscape (auf PC) verweigern den eigentlich
  faelligen "onload"-event;
* fuer den 6er(PC) funktioniert der im script eingebaute "reload-trick"
  (schau Dir das mal an)
* der gute alte Netscape 3.0 Gold(PC) liefert in diesem beispiel bei
  jedem neuen sequenzdurchlauf des animierten gifs (4 ebenen) gleich
  4 "onload"-events  -  fuer jede ebene des animierten gifs einen;

* der msie liefert bei jedem neuen sequenzdurchlauf genau einen
  "onload"-event; (aber das ist fuer Dein problem irrelevant)

-------------------------

  • Dein problem koenntest Du loesen, indem Du das animierte gif, in
      einen layer packst und dessen ".document."-inhalt bei jedem click
      auf den button neu schreibst - hier mal die noetigen anweisungen:

yourLayer = new Layer(1);
  yourLayer.visibility == "hide";
  yourLayer.left = [absoluter wert in px];
  yourLayer.top  = [absoluter wert in px];
  yourLayer.width = [z.b.: breite Deines bildes in px];
  yourLayer.height = [z.b.: hoehe Deines bildes in px];
  yourLayer.bgColor = self.document.bgColor;
  yourLayer.document.open();
  yourLayer.document.write('<img src="???.gif" width="??" height="??" alt="" border="0">');
  yourLayer.document.close();
  yourLayer.visibility = "show";

  • eine weitere moeglichkeit erschliesst sich, wenn Du mit [frame]s
      oder fenstern arbeiten kannst  -  dann schreib den documentencode
      Deines animierten gifs dynamisch in einen [frame] / ein fenster;

-------------------------

hier der code zum rumprobieren:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>

<head>
<title>imgReload.html</title>
<script language="JavaScript" type="text/javascript">
<!--
var anigifSrc = "http://a145.g.akamai.net/f/145/3220/1d/www.atptennis.com/en/images/other/atpspecial.gif";
var blankSrc = "http://a145.g.akamai.net/f/145/3220/1d/www.atptennis.com/en/graphics/space.gif";

//if ((self.document.all) || (self.getDocumentById)) {var yourImage = new Image(120,160);yourImage.src = anigifSrc;}
if (self.document.all) {var yourImage = new Image(120,160);yourImage.src = anigifSrc;}

function checkSource()
 {//if ((self.document.all) || (self.document.getElementById))
  if (self.document.all)
  {return;}
  if (self.document.images['yourAniGif'].src == anigifSrc)
  {return;}
  if (self.document.images['yourAniGif'].src == blankSrc)
  {self.document.images['yourAniGif'].src = anigifSrc;}
 }
function reloadImageSource()
 {//if ((self.document.all) || (self.document.getElementById)) {self.document.images['yourAniGif'].src = self.yourImage.src;return;}
  if (self.document.all) {self.document.images['yourAniGif'].src = self.yourImage.src;return;}
  self.document.images['yourAniGif'].src = blankSrc;
  setTimeout("self.checkSource()",500);
 }
//-->
</script>
</head>

<body>
<table cols="1" rows="1" width="100%" height="100%" colspan="0" rowspan="0" border="0">
<tr>
 <td align="center" valign="middle">

<form>
 <table cols="1" rows="1" width="50" colspan="0" rowspan="0" border="0">
 <tr>
  <td align="center" valign="top">
  <nobr>
  <img src="http://a145.g.akamai.net/f/145/3220/1d/www.atptennis.com/en/images/other/atpspecial.gif" width="120" height="160" name="yourAniGif" alt="" border="0" onload="alert('onloadEvent')">
  <br><br>
  <input type="button" value="reload image" onclick="self.reloadImageSource()">
  </nobr>
  </td>
 </tr>
 </table>
 </form>

</td>
</tr>
</table>
</body>

</html>

viel spass - by(t)e by(t)e - peterS. - pseliger@gmx.net