Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: Linkare file js

  1. #1

    Linkare file js

    Ho linkato il file script.js a questa pagina.
    Quando clicco sull'icona in alto a sinistra dovrebbe essere eseguita la funzione update() contenuta nel file js ma ottengo un errore che dice che la funzione update non è stata dichiarata.

  2. #2
    Uno script non si inserisce con
    codice:
    <link rel="javascript" type="text/javascript" href="script/script.js"/>
    ma con
    codice:
    <script type="text/javascript" src="script/script.js"></script>

  3. #3
    Originariamente inviato da H5N1_Aviaria
    Uno script non si inserisce con
    codice:
    <link rel="javascript" type="text/javascript" href="script/script.js"/>
    ma con
    codice:
    <script type="text/javascript" href="script/script.js"></script>
    Nemmeno.. il codice corretto è:

    codice:
    <script type="text/javascript" src="script/script.js"></script>
    Notare che è "src" e non "href"

    Ciao

  4. #4
    Pardon! Un classico errore copia/incolla!
    Modifico la risposta

  5. #5
    Originariamente inviato da H5N1_Aviaria
    Uno script non si inserisce con
    codice:
    <link rel="javascript" type="text/javascript" href="script/script.js"/>
    ma con
    codice:
    <script type="text/javascript" src="script/script.js"></script>
    In realtà la sintassi esiste, anzi è con questa che sarebbe più corretto includere uno script. Al momento però non è supportata.

  6. #6
    Ho corretto ma ora si presenta un'altro errore:
    XMLHTTP is not defined.
    Cosa devo fare?

  7. #7
    up

  8. #8
    Risolto.
    Vorrei, prima di darti la soluzione, che tu capissi gli errori commessi.

    Nel tuo codice assegni alla variabile class un valore e poi la richiami con il nome Classe.
    Cosa c'è di sbagliato?
    Innanzitutto che class e Classe sono due variabili diverse e in secondo luogo che "class" è un nome riservato e sarebbe meglio non usarlo.

    Altro errore: la funzione switchBrowser accetta come input un'altra funzione che costituisce l'handler dell'oggetto XMLHTTP per l'evento onreadystatechange.
    Ma tu non inserisci una funzione, ma il suo risultato, quando ancora la funzone non può produrre risultati dato che l'oggetto XMLHTTP non è ancora stato creato.

    Ecco lo script corretto e funzionante:
    codice:
    function update (object, file, container) {
        if (object.length>0) {
            var url="./"+file+"?page="+object;
            XMLHTTP=switchBrowser(function(){setContent(container)});
            XMLHTTP.open("GET",url,true);
            XMLHTTP.send(null);
        }
        else {
            document.getElementById(container).innerHTML = "";
        }
    }
    
    function setContent (container) {
        if (XMLHTTP.readyState==4) {
            var element=document.getElementById(container);
            element.innerHTML=XMLHTTP.responseText;
        }
    }
    
    function switchBrowser (browser) {
        if (navigator.userAgent.indexOf("MSIE")!=(-1)) {
            var classe="Msxml2.XMLHTTP";
            if (navigator.appVersion.indexOf("MSIE 5.5")!=(-1)) {
                classe="Microsoft.XMLHTTP";
            }
            try {
                objectXMLHTTP=new ActiveXObject(classe);
                objectXMLHTTP.onreadystatechange=browser;
                return objectXMLHTTP;
            }
            catch(e) {
                alert("Errore");
            }
        }
        else {
            objectXMLHTTP=new XMLHttpRequest();
            objectXMLHTTP.onload=browser;
            objectXMLHTTP.onerror=browser;
            return objectXMLHTTP;
        }
    }
    Inoltre: perchè usi l'XHTML1 Strisct quando non ne rispetti nè la forma nè la filosofia?
    Sarebbe meglio utilizzare un buon vecchio HTML4.01 valido che un XHTML1.0 non valido.

  9. #9
    Grazie.
    Non ho capito una cosa: cos'ha di male il mio codice XHTML?

  10. #10
    A livello di struttura:
    manca l'attributo xmlns all'elemento HTML
    Codice PHP:
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it"
    A livello concettuale:
    Il doctype XHTML 1.0 Strict, 1.1 e il futuro 2.0 prevedono la completa separazione fra struttura e stile.
    Sebbene tu abbia giustamente separato la semantica del documento dal suo stile, il documento stesso ne risulta dipendente.
    Ad esempio: se disattivo la visualizzazione delle immagini il Browser dovrebbe restituirmi, al posto delle stesse, il valore contenuto nell'attributo alt. E' per questo che tale attributo è obbligatorio.
    Se tu inserisci, invece, alt="", il documento diventa valido formalmente, ma non concettualemte.
    Prova, per esempio, a spostare la tua pagina in un'altra locazione in modo che non riesca più a trovare il percorso delle immagini: al loro posto avrai un vuoto non cliccabile! Perderai la funzionalità e non potrai accedere alla funzione update().
    Inoltre utilizzi gli eventi all'interno della pagina: dovresti rimuovere tutti gli onclick e gestrirli esternamente.

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.