Tickerdarstellung außerhalb IE

snoop242

Grünschnabel
Hi.
Ich habe einen Ticker, der im Quelltext in DIV aufgerufen wird.
Das Problem ist aber nun, dass - soweit ich weiß - der Aufruf in DIV nur von IE unterstützt wird.
Wie kann ich den ganzen Spaß aber auch unter Mozilla oder Netscape darstellen lassen?
:confused:
 
snoop242 hat gesagt.:
Das Problem ist aber nun, dass - soweit ich weiß - der Aufruf in DIV nur von IE unterstützt wird.
...dann hast du falsche Informationen.

So ziemlich jeder handelsübliche Browser aus diesem Jahrtausend ist DOM-fähig und kann somit auf beliebige Seitenelemente...so auch <div>'s, zugreifen.
 
Hm...gut.

Aber: WARUM funktioniert mein Ticker dann absolut fehlerfrei und ganz ohne Probleme im IE - aber unter Firefox tut sich garnix. Da mag er einfach nicht *schulterzuck*
 
Winzigweich braucht eben immer eine Extrawurst, der IE macht da keine Ausnahme. Die halten sich einfach an keinen Standart (nichtmal die, die sie selbst aufgestellt haben ;)) und so kommt es, dass IE-Scripts nicht zwangsweise in anderen Browsern lauffähig sind.

Mein Rat: Such dir einen anderen Ticker - gibt's sogar hier im Forum so ein-zwei von :rolleyes: - oder poste mal den Code deines Tickers und das html wo du ihn eingebaut hast hier.
 
Zuletzt bearbeitet:
Hm...das Problem ist, dass der Ticker den Text von der Mitte aus nach aussen schreiben soll, kurz stehen lassen...und dann wieder zur Mitte hin einfahren. Und dann das gleiche mit dem zweiten Text. Also nicht von rechts nach links durchlaufen oder so :(

Hier mal der der Quelltext:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<SCRIPT language=JavaScript src="ticker.js" type=text/javascript></SCRIPT>

<script type="text/javascript">
<!--
var delay=20;
var nextm=0;
var Tickertext1=Text1;
var Tickertext2=Text2;

var msg=new Array
(
    Tickertext1,
    Tickertext2
);
function start_ticker()
{
    do_ticker(msg[0], 0, 1);
}
function do_ticker(text, pos, dir)
{
    var out='<font face="Arial" color=#ffffff size=-1><b>'+text.substring(0, pos)+'</b></font>';

    if(navigator.appName=="Netscape")
        with(document.ticker.document)
        {
            open(); write(out); close();
        }
    else
        ticker.innerHTML=out;
    pos+=dir;
    if(pos>text.length)
        setTimeout('do_ticker("'+text+'",'+pos+','+(-dir)+')', delay*200);
    else
    {
        if(pos<0)
        {
            if(++nextm>=msg.length)
                nextm=0;
            text=msg[nextm];
            dir=-dir;
        }
        setTimeout('do_ticker("'+text+'",'+pos+','+dir+')', delay);
    }
}
// -->
          </script>
</head>


<body onload="start_ticker()">

      <table width="900" height="20" border="0">
		<tr>
          <td align="center" bgcolor="#FF0000"><div id="ticker" style="position:relative"></td>
        </tr>
      </table>
	  
</body>
</html>

Dabei bezieht er die beiden Texte (Tickertext1 und 2) aus einer externen Datei ticker.js

Jo, und wie gesagt: das ganze läuft halt leider nicht unter Firefox... :confused:
 
ticker.innerHTML=out;

....nicht jeder Browser ist so flexibel beim Ansprechen von Seitenelementen.
document.getElementById('ticker').innerHTML=out;
...ist da die korrekte Art und Weise
 
Vielen Dank schonmal für den Tipp.

Hab's geändert - aber das war noch nicht die Ursache für das Versagen unter Firefox. Dort gehts nämlich immernoch nicht :(
 
Vermutlich, weil du nur einen Bruchteil des Codes gepostet hast. Der Inhalt der "ticker.js" wäre nämlich auch bei der Fehlersuche durchaus Vorteilhaft.
 
Naja...mein Vorschlag deckte zumindest einen der Fehler ab:-)

Der andere Teil:
if(navigator.appName=="Netscape")

Da kommt auch Mozilla hinein.
Ist ne dumme Angewohnheit, den Browser zu fragen, wie er heisst.
Netscape hiess schon vor 100 Jahren "Netscape"...Gecko Browser tun dies heut immer noch, obwohl sie mit den damaligen Netscapes rein garnix mehr zu tun haben.

Frage stattdessen ab, ob der Browser "layers" kennt... das ist nur bei Netscape4 der Fall.
Mozilla kommt dann in den anderen zweig, und alles funktioniert prima:)

Code:
if(document.layers)
 

Neue Beiträge

Zurück