Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Javascript blocca apertura sito

    Buongiorno, ho un sito che si appoggia a vari servizi esterni, tra questi 3 grafici generati da un codice javascript. (gli script si trovano qui http://gold-quote.net/dashboard.php?lang=en)

    Questi script sono presenti nell'header della mia pagina ed hanno un grave, fastidioso problema:
    ogni tanto si bloccano ed impediscono il caricamento del resto della pagina.

    Come posso fare a caricare questi script alla fine, quando il resto della pagina è già caricato,
    oppure settare un timeout oltre il quale il caricamento del codice viene saltato?

    Grazie a tutti, ciao.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    74
    Per eseguire gli script una volta caricato il sito fai così:

    Codice PHP:
    function init() {
        
    miaFunzione();
    }
    window.onload init
    dove miaFunzione sarebbe la funzione da eseguire o le funzioni... puoi anche usare jquery ready

    http://api.jquery.com/ready/
    ..
    "Voi che avete gl'intelletti sani,mirate la dottrimna che s'asconde dietro il velame delli versi strani".

  3. #3
    Ciao, io avrei bisogno di posizionare questa funzione in un punto preciso della pagina... cioè ho 3 script di questo tipo che generano in output una tabella con grafico e quotazioni:

    Codice PHP:
    <script type="text/javascript" src="http://www.gold-quote.net/TABLE2/gen.php?lang=en"</script> 
    con il metodo che mi hai detto si può fare?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    74
    Purtroppo no, ho visto il codice del JS e usa il document.write, perciò inserisce il codice dove metti lo script ...

    Potresti usare un 'trucchetto'...
    crea un file php (io ho usato ad esempio loader.php) e mettici dentro questo:
    Codice PHP:
    <script type="text/javascript">
    <?php echo file_get_contents('http://www.gold-quote.net/TABLE2/gen.php?lang=en'); ?>
    </script>
    poi modifica il documento nel quale vuoi inserire questo javascript in questo modo:

    Codice PHP:
    <html>
        <
    head>
        </
    head>
        <
    script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                $('#copy').load('loader.php'); 
            });
        </script>
        <body>
            Tutto quello che ti pare ........ </br>
            Tutto quello che ti pare ........ </br>
            Tutto quello che ti pare ........ </br>
            Tutto quello che ti pare ........ </br>
            Tutto quello che ti pare ........ </br>
            <div id="copy">
            </div>
            Tutto quello che ti pare ........ </br>
            Tutto quello che ti pare ........ </br>
            Tutto quello che ti pare ........ </br>
            Tutto quello che ti pare ........ </br>
            Tutto quello che ti pare ........ </br>
            Tutto quello che ti pare ........ </br>
            Tutto quello che ti pare ........ </br>
        </body>
    </html> 
    Praticamente devi aggiungere questo nell'head :
    Codice PHP:
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                $('#copy').load('loader.php'); 
            });
        </script> 
    e creare un div con id "copy" dove andrà inserito il JS oppure mettere su $('#copy') l'id del tuo div, se già ne hai scelto uno.
    ..
    "Voi che avete gl'intelletti sani,mirate la dottrimna che s'asconde dietro il velame delli versi strani".

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    @darkonme l'hai provato?
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6
    Ciao darkonme, grazie per l'aiuto. Ho provato ad eseguire alla lettera quanto da te suggerito, ma non riesco a far visualizzare l'output del javascript...


    Codice PHP:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <
    html>
    <
    head>
    <
    script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    </script>
    <style id='page-skin-1' type='text/css'>

    </head>


    <body>

    <div id='copy' width="1000px" height="300px">

    </div>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
        <script type="text/javascript"> 
            $(document).ready(function(){ 
            $('#copy').load('miosito/loader.php');
        alert('ciao');  
            }); 
        </script>



    </body>
    </html> 

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    74
    Originariamente inviato da br1
    @darkonme l'hai provato?
    Onestamente? Si solo che poi ho aggiunto le righe ..

    Codice PHP:
    Tutto quello che ti pare ........ </br
    per far capire meglio ... ed invece così non va... a quanto pare il load, forse per incompatibilità con il document.write, mi rimpiazza l'intero body del documento... strano...

    Comunque scusa @rulez88, dammi 10 minuti, faccio alcune prove e risolvo
    ..
    "Voi che avete gl'intelletti sani,mirate la dottrimna che s'asconde dietro il velame delli versi strani".

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    74
    Ecco la soluzione ... cavolo se ragiono in maniera strana ...

    all'interno del div xscript sarà posto il codice originale js

    tuttavia il codice html sarà inserito nel div code, chiamato in questo modo

    Codice PHP:
     $('div#xscript').load('loader.php?divId=code'); 
    esempio file index.php
    Codice PHP:
    <html>
        <
    head>
        </
    head>
        <
    script src="http://code.jquery.com/jquery-latest.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                $('div#xscript').load('loader.php?divId=code'); 
            });
        </script>
        <body>
            <div id="xscript"></div>
            Tutto quello che ti pare ........ </br>
            Tutto quello che ti pare ........ </br>
            Tutto quello che ti pare ........ </br>
            Tutto quello che ti pare ........ </br>
            Tutto quello che ti pare ........ </br>
            <div id="code"></div>
            Tutto quello che ti pare ........ </br>
            Tutto quello che ti pare ........ </br>
            Tutto quello che ti pare ........ </br>
            Tutto quello che ti pare ........ </br>
            Tutto quello che ti pare ........ </br>
            Tutto quello che ti pare ........ </br>
            Tutto quello che ti pare ........ </br>
        </body>
    </html> 
    file loader.php
    Codice PHP:
    <?php
    if (!isset($_GET['divId']))
        return;
    ?>
    <script type="text/javascript">
        var doc_html = "";
        function adder(string){
            doc_html +=  string;
        }
                    
    <?php
    $js_var 
    file_get_contents('http://www.gold-quote.net/TABLE2/gen.php?lang=en');
    $js_var str_replace('document.writeln''adder'$js_var);
    echo 
    $js_var;
    echo 
    'document.getElementById("' $_GET['divId'] . '").innerHTML=doc_html;';
    ?>
    </script>
    ..
    "Voi che avete gl'intelletti sani,mirate la dottrimna che s'asconde dietro il velame delli versi strani".

  9. #9
    ciao darkonme, grazie mille per il supporto. Purtroppo uso la piattaforma blogger (mi scuso per non averlo specificato all'inizio) quindi non posso modificare l'index rendendolo PHP.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    74
    Non conosco blogger, comunque non è importante, l'importante è che il tuo server abbia il supporto php per il file loader.php. L'index.php è solo un esempio...

    Ciò che devi fare è mettere nell'header del file dove vuoi iserire questo javascript:

    un riferimento a jquery, ad esempio io ho usato
    Codice PHP:
    <script src="http://code.jquery.com/jquery-latest.js"></script> 
    lo script php
    Codice PHP:
    <script type="text/javascript">
            $(
    document).ready(function(){
                $(
    'div#xscript').load('loader.php?divId=code'); 
            });
    </script> 
    e nel body i due div io ho usato xscript e code come id ma tu puoi mettere l'id che preferisci, l'importante è che corrispondano agli id nel javascript

    Codice PHP:
    $('div#xscript').load('loader.php?divId=code'); 
    Ciò che avviene in pratica è che la funzione javascript viene inserita all'interno del div chiamato xscript, mentre la parte 'grafica' diciamo, quella che si vedrà sul sito, apparirà all'interno del div code.
    ..
    "Voi che avete gl'intelletti sani,mirate la dottrimna che s'asconde dietro il velame delli versi strani".

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.