Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    583

    caricare un file esterno

    ciao
    mi succede una cosa strana
    ho una pagina web funzionante
    da questa pagina provo a caricare un file esterno
    si carica, ma poi si blocca tutto.

    questa è l'istruzione:
    <script type="text/javascript" src="ng12.js"> <!---

    nel fle esterno:
    alert("aa");
    oppure:
    xxx = 5;


    secondo problema
    dovrei caricare il file esterno non dal tag "script"
    ma durante l'esecuzione del javascript
    come si fa?

    rudyF

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, il blocco potrebbe essere dato semplicemente da una mal formattazione della pagina esterna o un qualche ciclo infinito o un qualche errore dello script contenuto in essa. Non sapendo esattamente cosa contiene non è semplice capirlo.
    Ad ogni modo, attraverso la console web del tuo browser, puoi verificare eventuali errori di esecuzione del codice.

    Per il caricamento runtime di un js esterno puoi fare qualche googleata con termini tipo "caricamento runtime javascript" o "load js runtime" o altre robe simili. Troverai sicuramente qualche script pronto all'uso.
    Un sistema, sostanzialmente, consiste nel creare runtime l'elemento <script> che carica la tua pagina js.
    Un altro sistema lo puoi avere utilizzando la funzione getScript() di jquery, che in pratica fa una chiamata ajax per caricare la tua pagina esterna quando ti serve.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    583
    ciao
    ho fatto una ricerca ed ho trovato alcuni suggerimenti per caricare un file esterno, ma non posso procedere finche non riesco a caricarlo normalmente. Lo esecuzione dello script si blocca e non capisco perchè.
    Il file esterno di prova non contiene altro che: var xxxx = 5; cioè nulla che possa bloccare l'esecuzione e la pagina (senza caricare il file esterno) funziona regolarmente.
    vuoi provare tu a capirci qualcosa?

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html><head>
    <title> TORNEI </title>
    <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
    <meta http-equiv="imagetoolbar" content="no">
    <meta name="GENERATOR" content="Matrix Y2K">
    <style type="text/css"> <!--
    body {background:#ABCDEF; overflow-x:hidden; scrollbar-base-color:#ABCDEF;}
    .but {font-style:normal; font-size:24pt; font-family: Times New Roman, Arial, Verdana;
    width:380px; height:45px; position:absolute; text-align:center;}
    .cas {height:30px; position:absolute; top:0px;
    font-style:normal; font-size:30pt; text-align:center; color:#000000;
    font-family:Times New Roman, Arial, Verdana; z-index:1;}
    .cnt {width:442px; height:50px; position:absolute; left:170px; z-index:1;
    background-color:#FFFFCC; border:1px solid;}
    --> </style>
    </head>
    <body>
    <div id="Pulsante" style="width:200px; height:45px; position:absolute; left:200px; top:5px; visibility:hidden;" OnMouseUp="Avanti()">
    <input id="Imput" class="but" type="button" value="PRIMO &nbsp; &nbsp; TURNO"></div>
    <script type="text/javascript"> <!---
    var numerogiocatori = window.prompt(" QUANTI GIOCATORI ?"," scrivilo qui .....");
    // -->
    </script>
    <script type="text/javascript"> <!---
    // src="ng12.js"
    // numerogiocatori = 12
    var numerotavoli = numerogiocatori / 4
    var nome = "";
    var hh = 0;
    while (hh < numerotavoli)
    {
    document.write("<div class='cnt' style='top:" + 55 * (hh + 1) + "px;'>");
    nome = "A" + (4 * hh + 1);
    document.write("<span id='" + nome + "' class='cas' style='width:60px; left:0px;'></span>");
    document.write("<span class='cas' style='width:40px; left:60px;'>e</span>");
    nome = "A" + (4 * hh + 2);
    document.write("<span id='" + nome + "' class='cas' style='width:60px; left:100px;'></span>");
    document.write("<span class='cas' style='width:120px; left:160px;'>contro</span>");
    nome = "A" + (4 * hh + 3);
    document.write("<span id='" + nome + "' class='cas' style='width:60px; left:280px;'></span>");
    document.write("<span class='cas' style='width:40px; left:340px;'>e</span>");
    nome = "A" + (4 * hh + 4);
    document.write("<span id='" + nome + "' class='cas' style='width:60px; left:380px;'></span>");
    document.write("</div>");
    hh++;
    }
    document.getElementById("Pulsante").style.visibili ty = "visible";
    // ---------------------------------------------------------------------------
    var contaturni = 0

    window.onload=function()
    {
    Avanti()
    };

    function Avanti()
    {
    contaturni = contaturni + 1;
    switch(contaturni)
    {
    case 1: document.getElementById("Imput").value = "PRIMO TURNO";
    Estrazione();
    break;
    case 2: document.getElementById("Imput").value = "SECONDO TURNO";
    Estrazione();
    break;
    case 3:
    document.getElementById("Imput").value = "TERZO TURNO";
    Estrazione();
    break;
    case 4:
    document.getElementById("Imput").value = "QUARTO TURNO";
    Estrazione();
    break;
    default: return;
    }
    }

    function Estrazione()
    {
    var h = 0;
    var est = numerogiocatori * (contaturni - 1);
    for (h = 1; h < numerogiocatori + 1; h++) document.getElementById("A" + h).innerHTML = num[est + h];
    }
    // ---------------------------------------------------------------------------
    num = new Array();
    num[1] = 1;
    num[2] = 12;
    num[3] = 8;
    num[4] = 6;
    num[5] = 4;
    num[6] = 11;
    num[7] = 3;
    num[8] = 9;
    num[9] = 5;
    num[10] = 10;
    num[11] = 7;
    num[12] = 2;
    num[13] = 8;
    num[14] = 9;
    num[15] = 2;
    num[16] = 10;
    num[17] = 11;
    num[18] = 1;
    num[19] = 12;
    num[20] = 5;
    num[21] = 7;
    num[22] = 6;
    num[23] = 3;
    num[24] = 4;
    num[25] = 8;
    num[26] = 3;
    num[27] = 5;
    num[28] = 9;
    num[29] = 11;
    num[30] = 12;
    num[31] = 4;
    num[32] = 2;
    num[33] = 1;
    num[34] = 6;
    num[35] = 10;
    num[36] = 7;
    num[37] = 9;
    num[38] = 12;
    num[39] = 5;
    num[40] = 7;
    num[41] = 4;
    num[42] = 6;
    num[43] = 2;
    num[44] = 8;
    num[45] = 3;
    num[46] = 11;
    num[47] = 1;
    num[48] = 10;
    // -->
    </script>
    </body> </html>


    rudyF

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, prima di tutto un consiglio: quando posti del codice sul forum sarebbe meglio utilizzare gi appositi tag di formattazione.

    Il tuo codice mi genera un errore alla riga 48. Il termine "visibility" ha uno spazio tra le lettere:
    codice:
    document.getElementById("Pulsante").style.visibili  ty = "visible";
    Per importare un javascript esterno devi usare questa sintassi:
    codice:
    <script src="scriptesterno.js"></script>
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    583
    HO RISOLTO !!!

    lo spazio nella parola visibility non so da dove è arrivato. Nella pagina non c'è!

    Ho provato a caricare il file esterno da un altro script
    Tra il primo dove c'è il prompt
    e il secondo che contiene tutto il programma
    ne ho inserito un terzo
    <script src="ng12.js"></script>
    L'elaborazione non si blocca più e tutto funziona.

    Forte di questo successo ho pravato a caricare il file esterno modificando il primo script così:

    <script type="text/javascript"> <!---
    var numerogiocatori = window.prompt(" QUANTI GIOCATORI ?"," scrivilo qui .....");
    var nmgtr = eval("'accessori/ng' + numerogiocatori + '.js'");
    var filesterno=document.createElement('script');
    filesterno.setAttribute("type","text/javascript");
    filesterno.setAttribute("src", nmgtr);
    if(typeof filesterno!="undefined") document.getElementsByTagName("head")[0].appendChild(filesterno)
    // -->
    </script>

    FUNZIONA !!!

    ciao
    rudyF

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.