tc6: Browser und styleSheet

hallo

ich erklaere mal mein problem: ich moechte die zentralen style-sheet-angaben
im header-bereich einer anderen datei (in einem frameset) dynamisch veraendern.
dazu habe ich mit einiger hilfe von euch dies zusammengebastelt ...

function faerbeZelle1(cnr)
{
td_ = (document.all)? parent.into.document.all.tags('td') : parent.into.document.td;
for(i=0;i<td_.length;i++)
  {
   parent.into.document.styleSheets[0].rules[cnr].style.backgroundColor = "#ffff00";
  }
}

dies funktioniert prima auf dem ie, aber nicht bei netscape (the same procedure as every year)
wie man sieht, habe ich ansatzweise versucht, das [styleSheet]-objekt auf verschieden weisen
anzusprechen, halt jeweils fuer ie oder ns
aber es funktioniert einfach nicht.
weiterhin muss man ja um das ganze differenzieren zu koennen, eine browserabfrage durchfuehren.
wie hier etwa ...

if (document.layers)  {
     ns = 1; ie = 0;
} else {
     ns = 0; ie = 1;
     }

function init() {
if (ie) zugriff = document.all.tags("td");
if (ns) zugriff = document.td;
    }

var BrowserName = navigator.appName;
if (BrowserName = 'Microsoft Internet Explorer') alert('Sie benutzen '+ BrowserName);
else alert('Sie benutzen '+ BrowserName);

alles schoen und gut, aber ich komm nicht weiter. waere echt gut, wenn sich irgendjemand erbarmen
wuerde ... das gesamtproblem kann man auch noch einmal unter folgender url begutachten:
http://www.bcity.com/temporat/index.htm sorry wegen des werbebanners :(

bis dann sagt tc

  1. Moin

    Das Problem habe ich auch schon mal zu lösen versucht.
    Soweit ich weiß gibt es keine Möglichkeit, das Stylesheet zu ändern während NS die Seite anzeigt. (In SelfHTML stand was von JavaScript Style Sheets, weiß jemand ob man die schon verändern kann?)
    Ich hatte dann versucht, jede Zelle in eine andere Subklasse einzuordnen und dann einen Layer neu zu schreiben in den die jeweilige Definition für diese Klasse steht. Diese Verfahrensweise endet in einem Netscape-Absturz (*noch einer*)!

    Ich glaube du wirst nicht umhin kommen die gesamte Tabelle mit Farbdefinition neu zu schreiben. Aber Vorsicht wenn sich der Mauszeiger über einen Link bewegt, während du ihn neu schreibst stürzt der Linux-NC ab.

    Tschüss

  2. Nochmal Hallo

    Mir ist grade beim Durchgucken der Javascript-Fehlermeldungen noch etwas aufgefallen:

    JavaScript Error:
    http://www6.bcity.com/temporat/navigate.htm, line
    24:

    test for equality (==) mistyped as assignment (=)?
    Assuming equality test.

    if (BrowserName = 'Microsoft Internet Explorer') alert('Sie benutzen '+ BrowserName);
    ...............................................^

    Tschüß

  3. hi,

    afaik kannst Du bei NC die Farbe der Tabellenzellen nicht dynamisch aendern. Es gibt workarounds, vielleicht hilft Dir sowas weiter:

    Tabelle mit neuer BgFarbe komplett dynamisch in ein div-Layer schreiben.

    DIV-Layer unter table legen (dazu muss auch table in ein Div-Layer gesteckt werden), und die Farbe des untenliegenden Div-Layers veraendern.

    Fuer Ersteres findest Du hier einen kleinen (nur NC-tauglichen) Test:

    http://www.wendenburg.de/tabelle.htm

    hth

    Gruesse  Joachim