body onload
undso
- javascript
Hallo Forum,
muss ich eigentlich diese beiden Sachen unbedingt in den <body>-Tag eintragen oder könnte man das umgehen bzw. außerhalb platzieren?
<body onload='javascript:window.print()'>
und
<body onload="window.status='Test';">
?
Grüße und ein frohes Neues
hallo,
muss ich eigentlich diese beiden Sachen unbedingt in den <body>-Tag eintragen
Nein.
oder könnte man das umgehen
Du kannst das einfach weglassen. Meistens.
Grüße aus Berlin
Christoph S.
hallo, danke für die Antwort.
Was heißt "einfach weglassen"?
einfach den Body Tag weglassen?
<onload="window.status='Yamuk!Chat | My Internet Community | Hier bin ich richtig';"> ?
Oder in ein JavaScript-Tag einfügen?
Grüße
Liebe(r) undso,
Was heißt "einfach weglassen"?
es bedeutet "einfach weglassen", sodass am Ende nur noch <body> bleibt.
Christoph hat mit seiner sehr kargen Antwort insofern Recht, als dass das Einbinden von JavaScript rein über <script>-Elemente im <head> einer Seite geschehen sollte. Jegliche JavaScript-Handler wie z.B. onload, onclick und dergleichen sollten nicht im HTML-Quelltext stehen, da sie ja nur in einem Browser mit verfügbarem und aktiviertem JavaScript einen Sinn haben, und genau in diesem Moment kann man solche Handler auch von JavaScript selbst in das Dokument schreiben lassen.
Eine solche Denkweise nennt man auch "unobtrusive JavaScript", was in etwa "unaufdringliches JavaScript" heißt und die mittlerweile das angestrebte Ideal eines jeden Webseitenbastlers sein sollte, der sich mit JavaScript beschäftigt.
Liebe Grüße aus Ellwangen,
Felix Riesterer.
@@Felix Riesterer:
Christoph hat mit seiner sehr kargen Antwort insofern Recht, als dass das Einbinden von JavaScript rein über <script>-Elemente im <head> einer Seite geschehen sollte.
Womit du externe JavaScripte meintest?
<script type="text/javascript" src="foo.js"></script>
Jegliche JavaScript-Handler wie z.B. onload, onclick und dergleichen sollten nicht im HTML-Quelltext stehen […] Man [kann] solche Handler auch von JavaScript selbst in das Dokument schreiben lassen.
Und zwar so:
window.onload = function ()
{
alert("foo");
};
oder so:
window.onload = init;
function init()
{
alert("foo");
}
Eine solche Denkweise nennt man auch "unobtrusive JavaScript", was in etwa "unaufdringliches JavaScript" heißt und die mittlerweile das angestrebte Ideal eines jeden Webseitenbastlers sein sollte, der sich mit JavaScript beschäftigt.
Siehe molilys Artikel Der sinnvolle Einsatz von JavaScript und Organisation von JavaScripten.
Live long and prosper,
Gunnar
@@undso:
<body onload='javascript:window.print()'>
Der Inhalt des 'onload'-Attributs ist JavaScript-Code. Welche Bedeutung hat 'foo:
' in JavaScript? Es ist ein Label. Und da es in JavaScript kein 'goto' gibt, sind solche Labels völlig sinnfrei.
(Und die Seite, auf der das stehen soll, ist nur für dich? Für die Allgemeinheit dürfte das automatischen Starten des Druckdialogs beim Aufruf einer Webseite sinnfrei sein.)
<body onload="window.status='Test';">
Auch das ist sinnfrei, da die Änderung der Statuszeile mittlerweile per Voreinstellung in Browsern aus gutem Grund verboten ist. [</archiv/2006/2/t124467/#m803511>, Diskussion im ganzen Thread]
Live long and prosper,
Gunnar
Hi,
(Und die Seite, auf der das stehen soll, ist nur für dich? Für die Allgemeinheit dürfte das automatischen Starten des Druckdialogs beim Aufruf einer Webseite sinnfrei sein.)
Man findet ihn allerdings recht häufig in der Allgemeinheit. Oftmals wird beim Aufrufen einer "druckoptimierten" Version der aktuellen Seite auch gleich der Ausdruck initiert (was ich persönlich auch durchaus schätze).
Gruß, Cybaer
Hallo,
Man findet ihn allerdings recht häufig in der Allgemeinheit. Oftmals wird beim Aufrufen einer "druckoptimierten" Version der aktuellen Seite auch gleich der Ausdruck initiert (was ich persönlich auch durchaus schätze).
Hi genau. So hatte ich mir das vorgestellt. Den Code habe ich auf einer extra "druckoptimierten" Seite eingefügt.
Was die Statuszeile betrifft. Das lasse ich dann am besten weg, wenn es eh verboten ist.
Grüße
Hi,
Was die Statuszeile betrifft. Das lasse ich dann am besten weg, wenn es eh verboten ist.
Verboten ist es nicht. Wenn Du es machst, und der Browser ist auf Ignorieren eingestellt, passiert auch nichts schlimmes (Fehlermeldung oder so). Du solltest nur nicht davon ausgehen, daß der User es immer sieht.
Und wenn Du es machst, dann sollte es eine sinnvolle Meldung sein. Irgendeine Statusmeldung ist z.B. in der Statuszeile sicher nicht ganz verkehrt. Muters Kochrezepte hingegen ... ;-)
Gruß, Cybaer