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

    richiamare javascript con variabile

    Ciao, ho un problema nel passare una variabile GET da un url html a un file javascript

    Ho una pagina pagina.html a cui passo una variabile così pagina.html?cat=NUMERO

    dentro la pagina html devo richiamare un file javascript in base alla variabile cat e ho fatto così

    codice:
    <script type="text/javascript">
         function getUrlVars() {
        var vars = {};
        var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
            vars[key] = value;
        });
        return vars;
        }
        var first = getUrlVars()["cat"];
    alert(first);
    </script>
    
    <script src="http://sito.it/file.php?category_id="+first></script>
    Come potete vedere ho messo un alert(first); e infatti aprendo la pagina mi spunta il popup con la variabile cat presente in pagina.html?cat=NUMERO non richiama però in modo corretto il file javascript esterno, ignora la variabile, lo script su http://sito.it/file.php funziona correttamente perché se richiamo il file inserendo direttamente la variabile (in questo esempio 2) funziona
    codice:
    <script src="http://sito.it/file.php?category_id=2"></script>
    il problema sta quindi nel passare la variabile da pagina.html?cat= al file javascript

    Grazie a tutti in anticipo!

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    L'ho letto tre volte è non ho capito cosa vuoi fare e dov'è il problema
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    L'ho letto tre volte è non ho capito cosa vuoi fare e dov'è il problema
    Hai ragione, mi sono spiegato male, in sintesi: ho una variabile javascript (variabile first) e devo richiamare un file javascript esterno (http://sito.it/file.php) passandolo la variabile first
    codice:
    <scripttype="text/javascript">var first = "valore";
    </script>
    
    <scriptsrc="http://sito.it/file.php?category_id="+first></script>
    il problema è che non passa al file javascript esterno la variabile ed è quindi come se mi limitassi a richiamare il file così http://sito.it/file.php?category_id= senza valore della variabile alla fine

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    Prova con
    codice:
    <script>
    var first = "valore";
    document.head.appendChild("<script src="http://sito.it/file.php?category_id=" + first + "></script>");
    </script>
    No

  5. #5
    ecco il codice finale della pagina di prova
    codice:
    <!doctype html>
    
    
    <html>
    <head>
    
    
    </head>
    <body>
    <script>
    var first = "2";
    document.head.appendChild("<script src="http://*******.it/pagine3.php?category_id" + first + "></script>");
    </script>
    </body>
    </html>
    ottengo però questo aprendo la pagina da browser
    codice:
    ");
    che non arriva dal file javascript esterno

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    prova a modificare
    codice:
    + "</script>"
    con
    codice:
    + "<" + "/script>
    che sennò viene interpretato come tag di chiusura
    No

  7. #7
    Grazie, purtroppo continua a non funzionare
    codice:
    <!doctype html>
    
    
    <html>
    <head>
    
    
    </head>
    <body>
    <script>
    var first = "2";
    document.head.appendChild("<script src="http://****************.it/pagine3.php?category_id=" + first + "><" + "/script>);
    </script>
    </body>
    </html>
    ora aprendo la pagina non mi restituisce proprio niente, pagina bianca

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    codice:
    <!doctype html>
    <html>
    <head>
    </head>
    <body>
    <script>
    var first = "2";
    document.getElementsByTagName('head')[0].appendChild('<script src="http://****************.it/pagine3.php?category_id=' + first + '"></script>');
    </script>
    </body>
    </html>
    Prova cosi.

    P.S. Non è che stai tentando di eseguire questo fuori dal tuo dominio vero?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    [code]<!doctype html>
    Non è che stai tentando di eseguire questo fuori dal tuo dominio vero?
    In che senso? Comunque la pagina html si trova su un dominio, il javascript su un altro, sono comunque tutti e 2 miei

  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Nel senso che non puoi fare chiamate js dinamiche cross-dominio (a prescindere che siano tuoi)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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 © 2025 vBulletin Solutions, Inc. All rights reserved.