undso: body onload

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

  1. 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.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
    1. 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

      1. 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.

        --
        ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
        1. @@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

          --
          „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
  2. @@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

    --
    „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
    1. 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

      --
      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
      1. 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

        1. 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

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!