Ralf Köchert: Javascript funktioniert in Opera 6.01 nicht

Guten Morgen liebe Forumleser/schreiber,

bei meinen Bemühungen mein Web trotz interner Vorgaben im Unternehmen browserunabhängig zu gestalten, bin ich auf das Problem gestoßen, dass folgendes Javascript in Opera 6.01 im Gegensatz zu diversen anderen Scripts nicht funktioniert:

<body>....

<table bgcolor="#EEEEEE" class="doc" width="100%"><tr><td align=left><b style="font-size:1em"><font color="BBBBDE"> Hier müssen rechts Datum und Uhrzeit erscheinen, sonst ist Java nicht aktiviert
<br> und das Expertensystem funktioniert nicht vollständig!</font></b></td><td align=right><span id="clock">
<script language="JavaScript">
<!-- Begin
var dayarray=new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag")
var montharray=new Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember")
function getthedate(){
var mydate=new Date()
var year=mydate.getYear()
if (year < 1000)
year+=1900
var day=mydate.getDay()
var month=mydate.getMonth()
var daym=mydate.getDate()
if (daym<10)
daym="0"+daym
var hours=mydate.getHours()
var minutes=mydate.getMinutes()
var seconds=mydate.getSeconds()
{
 d = new Date();
 Time24H = new Date();
 Time24H.setTime(d.getTime() + (d.getTimezoneOffset()*60000) + 3600000);
 InternetTime = Math.round((Time24H.getHours()*60+Time24H.getMinutes()) / 1.44);
 if (InternetTime < 10) InternetTime = '00'+InternetTime;
 else if (InternetTime < 100) InternetTime = '0'+InternetTime;
}
if (hours==0)
hours=24
if (minutes<=9)
minutes="0"+minutes
if (seconds<=9)
seconds="0"+seconds
//change font size here
var cdate=dayarray[day]+", "+daym+" "+montharray[month]+" "+year+" | "+hours+":"+minutes+":"+seconds+" | @"+InternetTime+""
if (document.all)
document.all.clock.innerHTML=cdate
else if (document.getElementById)
document.getElementById("clock").innerHTML=cdate
else
document.write(cdate)
}
if (!document.all&&!document.getElementById)
getthedate()
function goforit(){
if (document.all||document.getElementById)
setInterval("getthedate()",1000)
}
window.onload=goforit
//  End -->
</script>
</span>
</td></tr>
</table>

...</body>

Wo ist hier der Knackpunkt???

Ciao Ralf

  1. hi

    bei meinen Bemühungen mein Web trotz interner Vorgaben im Unternehmen browserunabhängig zu gestalten, bin ich auf das Problem gestoßen, dass folgendes Javascript in Opera 6.01 im Gegensatz zu diversen anderen Scripts nicht funktioniert:

    soll das jetzt heißen ihr dürft oder ihr müsst nicht browserunabhängig sein?! So oder so hat da die Geschäftsleitung was falsch verstanden...

    if (document.all)
    document.all.clock.innerHTML=cdate
    else if (document.getElementById)
    document.getElementById("clock").innerHTML=cdate
    else
    document.write(cdate)
    }
    if (!document.all&&!document.getElementById)
    getthedate()
    function goforit(){
    if (document.all||document.getElementById)
    setInterval("getthedate()",1000)
    }

    ich würde vermuten, dass hier irgendwo der Wurm is.. Ich würde dabei erst document.getElementById, dann document.all setzen. Gründe:
    1. das Objekt "document.all" wird gelegentlich als Zugangsberechtigung für Websites benutzt, weshalb es mehr Browser kennen, als eigentlich wissen was es soll.
    2. einfach der logische Weg if(standard kompatibel) else(notlösung)
    3. in dem document.all landet dann nur noch IE4.0/Windows

    ansonsten sei noch zu sagen, dass Opera einige DOM-Objekte nicht kennt und daher gerne JS-Probleme verursacht, evtl. ist da der Wurm...

    1. Hallo Kai,

      soll das jetzt heißen ihr dürft oder ihr müsst nicht browserunabhängig sein?! So oder so hat da die Geschäftsleitung was falsch verstanden...

      das ist in diesem Thread zwar nur der Nebenkriegs-Schauplatz, aber es ist in großen Firmen durchaus gängige Praxis, genau eine Version eines Browsers in einer Sprache _für_die_Mitarbeiter_ verbindlich vorzuschreiben. Die Brwoser-, Versionen- und Varianten-Vielfalt, an der im privaten Leben so oft die Glückseligkeit so manchen Surfers hängt, ist innerhalb der Firma (für Intranets) ein Kostenfaktor, der keinen Gegenwert darstellt. Das bedeutet natürlich nicht, dass Firmen-Web-Seiten keinem Validator stand halten soll. Aber in großen Intranets (Siemens ... und Konsorten mit vielen Millionen Intranet-Seiten) ist explizite Browser-unabhängigkeit kein Thema.

      Gruß,
      Hans-Peter

      1. Hallo Kai,

        soll das jetzt heißen ihr dürft oder ihr müsst nicht browserunabhängig sein?! So oder so hat da die Geschäftsleitung was falsch verstanden...

        das ist in diesem Thread zwar nur der Nebenkriegs-Schauplatz, aber es ist in großen Firmen durchaus gängige Praxis, genau eine Version eines Browsers in einer Sprache _für_die_Mitarbeiter_ verbindlich vorzuschreiben. Die Brwoser-, Versionen- und Varianten-Vielfalt, an der im privaten Leben so oft die Glückseligkeit so manchen Surfers hängt, ist innerhalb der Firma (für Intranets) ein Kostenfaktor, der keinen Gegenwert darstellt. Das bedeutet natürlich nicht, dass Firmen-Web-Seiten keinem Validator stand halten soll. Aber in großen Intranets (Siemens ... und Konsorten mit vielen Millionen Intranet-Seiten) ist explizite Browser-unabhängigkeit kein Thema.

        Gruß,
        Hans-Peter

        Hallo Hans-Peter und Kai
        Nur noch kurz:

        genauso ist es wohl, die o.g. Web's müssen im Intranet der Firma funktionieren und da macht man eben sinnvollerweise Vorgaben, entweder sich selbst oder irgendwer.
        Meine Philosophie ist allerdings, ein wirklich gutes Web ist auch weitestgehend browserunabhängig und damit auch auf jehe Wendungen vorbereitet.
        Ciao Ralf

      2. Hallo Kai,

        soll das jetzt heißen ihr dürft oder ihr müsst nicht browserunabhängig sein?! So oder so hat da die Geschäftsleitung was falsch verstanden...

        das ist in diesem Thread zwar nur der Nebenkriegs-Schauplatz, aber es ist in großen Firmen durchaus gängige Praxis, genau eine Version eines Browsers in einer Sprache _für_die_Mitarbeiter_ verbindlich vorzuschreiben. Die Brwoser-, Versionen- und Varianten-Vielfalt, an der im privaten Leben so oft die Glückseligkeit so manchen Surfers hängt, ist innerhalb der Firma (für Intranets) ein Kostenfaktor, der keinen Gegenwert darstellt. Das bedeutet natürlich nicht, dass Firmen-Web-Seiten keinem Validator stand halten soll. Aber in großen Intranets (Siemens ... und Konsorten mit vielen Millionen Intranet-Seiten) ist explizite Browser-unabhängigkeit kein Thema.

        solange es um ein Intranet geht, sehe ich da in der Tat kelin Problem, bei uns wird zum Beispiel auch nicht um IE-Bugs herumgewurstelt - der einzige Windows-User ist der Grafiker und der hat ja auch Mozilla uf seinem PC.
        Zum Problem wird es erst dann, wenn Firmen dabei nicht zwischen einem fest definierten Intranet und der sehr dynamischen Außenwelt unterscheiden können.
        In diesem Falle würde ich übrigens auch einfach auf eine bessere Opera-Version hoffen :)

  2. Hallo Ralf,

    der Knackpunkt ist, das Opera das Objekt

    .innerHTML

    nicht kennt...

    1. Hallo Ralf,

      der Knackpunkt ist, das Opera das Objekt

      .innerHTML

      nicht kennt...

      Besten Dank Danny,

      das ist es dann wohl leider.

      Ciao Ralf

  3. Hallo,

    da lese ich auf der Opera-Seite

    http://www.opera.com/docs/specs/#javascript

    folgenden Satz zur Erläuterung der JS-Fähigkeiten des Browsers:

    Modifying the document structure is not yet possible (ie. you cannot add or remove HTML elements)

    Das müste der Knackpunkt sein....

    Chräcker

    http://www.Stempelgeheimnis.de

    1. Tag auch

      http://www.opera.com/docs/specs/#javascript

      Noch konkreter, was Opera kann und was nicht, steht es hier: http://www.opera.com/docs/specs/js/.

      Thomas J.