![]() | |
![]() |
| | Thread Tools | Display Modes |
#11
| |||
| |||
|
|
document.body.bgColor ist <body bgcolor='...'>. |
|
document.body.style.backgroundColor ist body style='background-color: ...'>. |
|
Es gibt noch eine Reihe anderer Möglichkeiten die Farbe zu setzen, zum Beispiel mit style ...>body { background-color: ... }</style>, was dann ebenfalls über keine der beiden Eigenschaften angesprochen werden kann. |
#12
| |||
| |||
|
|
Nun, .bgColor gibt dir den Wert des bgcolor='...' Attributs zurück, nicht irgendwas, das mit CSS gesetzt wurde. Dafür müsstest du schon getComputedStyle, .currentStyle, .runtimeStyle, o.ä. benutzen. |
#13
| |||
| |||
|
|
function alertMe (meldung) { alertfenster = window.open("alertfenster.html", "alertfenster", ""); ziel = alertfenster.document.getElementById("ausgabeconta iner"); ziel.innerhtml = meldung; Die Eigenschaft ist innerHTML, nicht innerhtml. |
|
Aber der Ansatz kann so nicht klappen, denn window.open() oeffnet nur das Fenster, wartet aber nicht auf das Laden des Dokumentes, so dass der direkte Zugriff auf alertfenster.document bzw. alertfenstwer.document.getElementById("ausgabecont ainer") nicht klappen kann. |
|
Was man machen kann, ist ein Ueberschreiben des gesamten Dokumentes: var fenster = window.open(...); fenster.document.open(); fenster.document.write(...); fenster.document.close(); |
#14
| |||
| |||
|
|
Natürlich, was hast du sonst erwartet? Deine Funktion kann man kürzer auch alert(open("alertfenster.html","alertfenster")); schreiben. Du gibst also keinen Text, sondern das Objekt des neuen, mit open() angelegten Fensters aus. Da das meist wenig nützlich ist, greift JavaScript in solchen Fällen auf eine interne Textdarstellung des Objektes zurück: [object <objecttype>]. Der <objecttype> ist vergleichbar mit einer Klasse und sagt dir, "um was für ein Objekt" es sich handelt. Eine solche Ausgabe kann für Debuggingzwecke ganz hilfreich sein, weil man dann überprüfen kann, ob das erzeugte Objekt wirklich vom gewünschten Typ ist oder ob ein Objektattribut, das ein Objekt ent- halten soll, auch das (richtige) Objekt enthält (oder ob eine selbst- geschriebene toString()-Methode funktioniert ;-). Ansonsten bringt sie eher wenig. Mir ist noch nicht ganz klar, was du mit deiner alertMe() Funktion eigentlich ausgeben willst. |
#15
| |||
| |||
|
|
ich wollte die Meldung schon an eine bestimmte Stelle ins alertfenster schreiben, und eben nicht das ganze Dokument überschreiben. Geht das überhaupt nicht? |
#16
| |||
| |||
|
|
function alertMe (meldung) { meinalertfenster = window.open("alertfenster.html", "alertfenster", ""); ziel = meinalertfenster.document; alert(ziel); } funktioniert nicht. Was stimmt nicht an ziel? |
#17
| |||
| |||
|
|
nicht klar. Oder sind es nur zwei unterschiedliche Arten, letztlich ohnehin dieselbe Eigenschaft zu setzen? Bei beiden dreht es sich um die Hintergrundfarbe, ansonsten haben die wenig miteinander zu tun. |
#18
| |||
| |||
|
|
Und welchen Unterschied macht es, die Hintergrundfarbe mit document.body.bgColor oder mit document.style.backgroundColor zu setzen, da es ja - bezogen auf die Hintergrundfarbe des Dokuments - gleich ist, ob die nun über "body" oder über das übergeordnete "document" Element gesetzt wird? |
#19
| |||
| |||
|
|
funktioniert nicht. Was stimmt nicht an ziel? Da nach dem Öffnen des Fensters das Dokument erst noch geladen werden muß und der JavaScript nicht wartet, bis das Dokument im neuen Fenster fertig geladen ist, kann es sein, daß zu dem Zeitpunkt, an dem Du das "ziel" auslesen willst, dieses Dokument noch gar nicht existiert. |
|
meldung is not defined setTimeout("setZiel(meldung, meinalertfenster)",1000); |
#20
| |||
| |||
|
|
`document` hat kein .style Attribut; der Unterschied ist simpel, mit dem einen veränderst du das bgcolor='...' Attribut, mit dem anderen das CSS- basierte style='...' Attribut. |
|
bgcolor='...' sollte man nicht verwenden, weil CSS für sowas besser geeignet ist. |
![]() |
| Thread Tools | |
| Display Modes | |
| |