Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    file.js?parametro=valore

    Ciao a tutti!!!
    Ho visto in giro sintassi del genere

    <script src="scriptacolous.js?load=effect" etc etc etc ....

    Quindi suppongo che si possano passare parametri ad un file js richiamato in una pagina ....

    ho provato a fare cosi


    <script src="file.js?stringa=ciao" etc etc et ....

    e poi nel file.js

    alert(stringa);

    ma non funziona ...

    come faccio a utilizzare il valore nella pagina di destinazione???

    Grazie Mike

  2. #2
    Quei parametri che metti dopo l'url formano la querystring, i valori da mandare al server, e non possono essere presi così facilmente da javascript.

    La tecnica che utilizza Scriptacolous è, sapendo a priori il nome del file che deve ricavare i dati dalla query string, analizzare tutti i tag script e leggere di ognuno l'src; poi quello che coincide con il nome del file lo si analizza più approfonditamente e di questo si legge anche la query string.

    Supponiamo che tu includi myscript.js è che la query string è ?chiave=valore&chiave2=valore2
    Codice PHP:
    var file "myscript.js",
         
    elems document.getElementsByTagName("script")
         
    elems.lengthq;
    while(
    i--) {
      
    elems[i].src;
      if( 
    q.indexOf(nomefile) != -) {
        
    q.substringq.indexOf("?") );
        
    q.split("&");
        
    q.length;
        while(
    i--) 
         
    q[i] = q[i].split("=");
        break;
      }


    /*ora q dovrebbe contenere un array del genere:
    [
      [
        "chiave",
        "valore"
      ],
      [
        "chiave2",
        "valore2"
      ]
    ]
    */ 
    Spero funzioni

  3. #3
    ho capito la tecnica! ora provo e ti faccio sapere! grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.