Mike: script element richtig einbinden und for/event Attribut nutzen

Hallo,

ich suchte eine Lösung für die Übergabe einer Variabel/Parameter an ein externes Script, ähnlich:

http://www.tutorials.de/javascript-ajax/355235-parameter-externe-js-datei-uebergeben.html

Die Idee gefiel mir ganz gut, doch dann stellte ich fest, dass das Universalattribut "id" gar <http://de.selfhtml.org/html/referenz/attribute.htm#universalattribute@title=nicht im Script-Tag rein darf>.

Somit entfällt dann wohl die Lösung auf diese Weise. Allerdings fand ich im Zusammenhang mit den erlaubten Script-Attributen einige, die ich noch nicht kannte und die leider auch nicht genauer im Selfhtml oder sonstwo erläutert werden. Speziell das for-Attribut und das event-Attribut wecken meine Neugierde. http://de.selfhtml.org/html/referenz/attribute.htm#script

Diese waren mir bisher unbekannt, eröffnen aber vielleicht neue Möglichkeiten, wenn ich die Funktionsweise richtig deute. Schade, dass es dazu keine konkreten Beispiele oder Ausführungen im Selfhtml gibt. Deshalb frage ich euch, bevor ich nun munter damit experimentiere, ob Ihr Beispiele dazu im Netz kennt und vor allem ob diese Attribute sowohl Browser-als auch zukunftssicher sind?

Gruss
Mike

  1. Hallo!

    Die SELFHTML-Dokumentation ist inhaltlich sehr veraltet und die Aussagen beziehen sich oftmals auf alte HTML-Versionen und alte Browser. Du solltest den Inhalt immer mit aktuelleren Quellen aus den letzten paar Jahren vergleichen. Die Dokumentation wird nicht mehr gepflegt, stattdessen gibt es ein Wiki.

    Die aktuelle HTML-Version 5 unterstützt id-Attribute bei script-Elementen (normative Definition). Neben IDs gibt es noch andere Arten, um per JavaScript ein Element als DOM-Knoten zu fassen zu bekommen. Zum Beispiel eine Klasse. Es ist auch eine Logik möglich, die automatisch das zugehöre Script sucht, sodass keine weitere Kennzeichnung nötig wäre. Gegen ein ID-Attribut spricht aber auch nichts.

    Allerdings fand ich im Zusammenhang mit den erlaubten Script-Attributen einige, die ich noch nicht kannte und die leider auch nicht genauer im Selfhtml oder sonstwo erläutert werden. Speziell das for-Attribut und das event-Attribut wecken meine Neugierde. http://de.selfhtml.org/html/referenz/attribute.htm#script

    Das vergisst du am besten schnell wieder. Das war eine Erfindung von Microsoft für Event-Handling, die von keinem anderen Browser umgesetzt wurde. Diese Attribute waren auch nie standardisiert. Sie stehen in der Attributreferenz von SELFHTML, aber ohne wirklichen Grund.

    Falls es dich interessiert, es wird hier kurz angesprochen: http://de.selfhtml.org/dhtml/modelle/microsoft.htm

    Fast alles, was dort steht, ist aus heutiger Sicht praktisch irrelevant und nicht zum Gebrauch zu empfehlen. Aktuell ist Event-Handling gemäß W3C Events.

    Grüße
    Mathias

    1. Korrektur, for und event waren Teil von HTML 4.01. Sie wurden aber nicht wirklich inhaltlich beschrieben, sondern nur »reserved for possible future use«. http://www.w3.org/TR/html401/sgml/dtd.html
      Es gab dann keinen »future use«. HTML 5 kennt sie nicht dementsprechend mehr.

      Mathias

      1. @@molily:

        nuqneH

        HTML 5 kennt sie nicht dementsprechend mehr.

        Du zum JavaScript-Yoda dich entwickelst, hmm.

        Qapla'

        --
        „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
        1. Om nah hoo pez nyeetz, Gunnar Bittersmann!

          „fachlich hilfreich“ zwar dafür gedacht nicht ist, aber es dennoch geklickt ich habe.

          Matthias

          --
          Es ist paradox, wenn ein Gewinnlos gewinnlos ist.

  2. Hallo Mike,

    ich suchte eine Lösung für die Übergabe einer Variabel/Parameter an ein externes Script ...

    kennt das Script seinen Dateinamen? Bei mir sucht das Script sein "Script-Tag" über seinen Dateinamen und wertet dann die Parameter aus.

    Es gab hier auch mal eine Diskussion, wo die Meinung vertreten wurde, dass ein Script, wenn es nach dem Laden läuft, unter den Scripten das letzte ist, also

    var scr = document.getElementsByTagName("script");  
    var me = scr[scr.length-1];
    

    Ich habe das aber nicht weiter verfolgt oder getestet, da bei mir der Zugriff über den Dateinamen ausreicht.

    Gruß, Jürgen

    1. Dank an euch,

      alle Fragen zu 100% beantwortet.

      Gruss
      Mike

      1. Hallo Mike,

        alle Fragen zu 100% beantwortet.

        und wie hast du es jetzt gelöst?

        Gruß, Jürgen

        1. Hallo Jürgen,

          und wie hast du es jetzt gelöst?

          bei einer Lösung ging es mir ja nicht um das Ursprungsproblem, sondern um die mir unbekannten Attribute im script-Tag und meine Fragen diesbezüglich. Durch die Antworten hier habe ich verstanden, dass es wenig Sinn macht mit diesen Attributen zu experimentieren.

          Darüber hinaus hast Du auch noch eine verbesserte Version zu der, im verlinkten Forum, ID-Lösung meines Ursprungsproblems geschrieben. Für mich habe ich allerdings doch einen anderen Weg gefunden, indem ich die Variabeln direkt im extra Script-Tag deklariere. Das erspart mir den Umweg den zb. src-wert zu splitten oder sonstwie eine Art $_GET(PHP)-Prozedur für Javascript zu erzeugen.

          Beispiel:

            
          <script type="text/javascript">var1 ='abc';var2 ='def'; </script>  
          <script type="text/javascript" src="test.js"></script>  
          
          

          Gruss
          Mike