Wolfgang Sontag: Parameterübergabe an externe Javascript Datei?

Hallo!

Gibt es in Javascript die Möglichkeit Parameter an eine
externe Javascriptdatei zu übergeben,
so ähnlich wie es auch in php funktioniert
(foo.php?grad=2&text=Hallo)

also so ähnlich:

<script type="text/javascript" src="foo_script.js?grad=2&text=hi"></script>

Danke!

Wolfgang

  1. 你好 Wolfgang,

    also so ähnlich:

    <script type="text/javascript" src="foo_script.js?grad=2&text=hi"></script>

    Theoretisch ja, aber warum setzt du nicht einfach globale Variablen ein?

      
    <script type="text/javascript">  
    [code lang=javascript]  
    grad = 2;  
    text = "hi";  
    
    ~~~</script>  
    <script type="text/javascript" src="foo\_script.js"></script>  
    [/code]  
      
    再见,  
     克里斯蒂安  
    
    -- 
    Treffen sich zwei Geraden. Sagt die eine: "Beim nächsten Mal gibst du einen aus."  
    
    
  2. Und
    Falls es geht, wie kann ich dann in der js Datei darauf zugreifen?
    Danke!

  3. Hallo,

    Gibt es in Javascript die Möglichkeit Parameter an eine
    externe Javascriptdatei zu übergeben,
    ...
    <script type="text/javascript" src="foo_script.js?grad=2&text=hi"></script>

    Falls die von Christian genannte Moeglichkeit nicht anwendbar ist (welche ich auch bevorzugen wuerde), bietet sich diese Alternative in foo_script.js:

      
    var tmp1=document.getElementsByTagName("script").item(0).getAttribute("src");  
    var tmp2=tmp1.split("?")[1].split("&");  
    for(var i=0;i<tmp2.length;i++)  
    {  
      var tmp3=tmp2[i].split("=");  
      if(isNaN(tmp3[1]))tmp3[1]='"'+tmp3[1]+'"';  
      eval("var "+tmp3[0]+"="+tmp3[1]+";");  
    }  
    alert(grad); // 2  
    alert(text); // "hi"
    

    Wichtig ist die entsprechende Referenzierung des script-Elements, ggf. ist eine ID hilfreich mit Aufruf von getElementById() statt getElementsByTagName().

    Wie "evil" die eval-Verwendung im jeweiligen Kontext ist, sollte auch noch bedacht werden ...

    MfG, Thomas

    1. Die Version von Christian mit den globalen Variablen  funktioniert super!!

      Danke euch zwei für die schnelle Hilfe!!!!

      mfg
      Wolfgang

    2. Hi,

      Wichtig ist die entsprechende Referenzierung des script-Elements, ggf. ist eine ID hilfreich mit Aufruf von getElementById() statt getElementsByTagName().

      Wobei das nur in XHTML erlaubt ist. In HTML hat das script-Element kein id-Attribut.

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      Schreinerei Waechter
      Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    3. 你好 Thomas,

      Wie "evil" die eval-Verwendung im jeweiligen Kontext ist, sollte auch
      noch bedacht werden ...

      Ist vor allem gar nicht noetig. Ein

        
      self[tmp3[0]] = tmp3[1];  
      
      

      sollte voellig ausreichen.

      再见,
      克里斯蒂安

      --
      No Shoes On Mat!