Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    277

    Problema generazione script JS

    Ciao ragazzi

    Vorrei porvi questo problema; io vorrei generare un file javascript esterno che venga anche cachato. Questo file contiene tutte le caption del mio sito, che esendo multilingua, anche per i JS devo generare alla login utente le cpation nella lingua utente. Il js deve essere cachato, proprio per non riginerarlo ogni volta.
    Io ho il file chiamante che è:

    Codice PHP:
    <html>
    <?php 
    session_start
    (); 
    ?>
    <head> 
    <title>Home Page</title> 
    </head>
    <body>
    <?php
    $_SESSION
    ['LNG'] = '0';
    ?>
    <script type="text/javascript" src="caption_js.php></script>
    <script language="JavaScript">
    alert(caption[0000001]);
    </script>
    </body>
    </html>
    ed il file caption_js.php:

    Codice PHP:

    <?php
    header
    ("content-type: application/x-javascript");
    session_start();
    if (
    $_SESSION['LNG'] == '0')
    {
    echo 
    '
    var CAPTION={
        "0000001":"close",
        nw:"open a new window",
        xt:"external link" 
    };
    '
    ;
    }
    else
    {
    echo 
    '
    var CAPTION={
        "0000001":"chiudi",
        nw:"apri una nuyova finestra",
        xt:"link esterno" 
    };
    '
    ;
    }
    ?>
    .

    Però non mi funziona...

    Sapreste per favore dirmi il perché?!
    Grazie mille! !

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    definisci "non funziona"

    Senza sapere qual'è il tuo problema la prima obbiezione che mi viene da fare è, hai provato con :

    header("content-type: text/javascript");


  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    cosa vuol dire "non funziona"? Cosa succede...?

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    277
    Si scusate, sono stato un po' impreciso...

    I problemi sono due:

    1. Se apro il chiamante (chiamamolo 'test_caption.php') mi dovrebbe cachare il file caption_js.php. Questo non succede, quindi ci deve essere qualche problema.

    2. In test_caption.php faccio comparire una pop-up a fini di test... che non compare!

    Ho fatto la modifica di gianiaz, ma ho ancora i due problemi sopra... mi sapete aiutare ragazzi?

    Grazie mille in anticipo!!!!!

  5. #5
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    se chiami il file caption_js.php direttamente nel broswer vedi il javascript che ti aspetti?

    poi secondo me dovresti mettere il session_start prima dell'header, (mi chiedo come mai non generi errori, ma magari non hai controllato il file caption_js da solo).

    Innanzi tutto fai funzionare il javascript poi se mai preoccupati della cache (secondo me dovrebbe farne il caching in automatico, ma se questo non succede una volta sistemato il problema dell'alert vediamo se è il caso di mandare qualche header particolare per dire di mettere in cache il file).

    ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    277
    Grazie del suggerimento.

    caption_js.php funziona correttamente se lanciato dal browser, il problema è però questo: non riconosce le varaiabili di sessione.

    Infatti se commento il riferimento alla variabili:
    Codice PHP:

    <?php

    session_start
    ();



    /*if ($_SESSION['LNG'] == '0')

    {
    header("content-type: text/javascript"); 
    echo '
    var CAPTION={
        "0000001":"close",
        nw:"open a new window",
        xt:"external link" 
    };
    ';
    }

    else
    */
    {
    header("content-type: text/javascript");
    echo 
    '
    var CAPTION={
        "0000001":"chiudi",
        nw:"apri una nuyova finestra",
        xt:"link esterno" 
    };
    '
    ;
    }
    funziona, e l'alert mostra 'chiudi' in modo corretto. Se levo i commenti invece non funziona. Sembra infatti che non riconosca i parametri di sessione. Come mai? :master:

  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    se stampi print_r($_SESSION) dopo il session start vedi qualcosa?

    il file è magari su un altro dominio?

    ciao

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.