Visualizzazione risultati 1 fino 7 di 7

Discussione: [help] Non include file js

  1. #1
    Guest

    Predefinito [help] Non include file js

    Sto tentando di includere un file .js
    ho messo tra i tag head questo

    <script type="text/javascript" src="BannerAmici.js"></script>

    ho caricato il file BannerAmici.js

    ma non funziona, se ricarico la pagina online non mi include il file..
    se guardo il sorgente html... mi da ancora
    <script type="text/javascript" src="BannerAmici.js"></script>
    senza avermi incluso il contenuto del file...

    la pagina in cui ho inserito l'include è questa:
    http://tartachiara.altervista.org/Malattie_1.shtml

    è lo script che sta nell'include dovrebbe farmi visualizzare banner a rotazione sotto la scritta SITO AMICO nel menu a sinistra

    Qualcuno sa dirmi il perchè?
    Ultima modifica di TartaChiara : 22-08-2006 alle ore 11.31.45

  2. #2
    Guest

    Predefinito

    Errore: document.banner has no properties
    File sorgente: http://tartachiara.altervista.org/
    Riga: 107

    ca console javascript di firefox mi da questo errore
    pero' dal sorgente non credo faccia parte dei banner "siti amici"

  3. #3
    Guest

    Predefinito

    no me sa proprio che non centra niente...

    se noti il codice html generato...
    non include proprio il codice js ...

    è quello il strano

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    mmh no, quello non é strano. quando includi un script con <script src="..."> </script> il codice non appare nell'html. Il browser lo richiama, ma é sempre un file esterno.

    Ricorda che l'html che il browser ti mostra come sorgente é poi quello originale, non quello eventualmente modificato da javascript.

    Per il tuo problema, prova a mettere un "alert('ciao!');" all'inizio dello script cosi' vedi se il file viene caricato oppure no.

    @phpone:
    L'errore nella console a me non viene, boh (FF 1.5.0.6)

  5. #5
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Dunque, il file js dovrebbe includerlo senza problemi, perché è richiamato bene e il file esiste nella giusta posizione.
    Invece il problema potrebbe darlo quel blocco script richiamato DENTRO il td (sotto l'intestazione "SITO AMICO") dove dovrebbe essere visualizzato, fai così:
    invece di testare se il browser è ie o netscape (i layer mi sembrano roba stravecchia), togli proprio il blocco script e indica direttamente in html il codice che trovi tra apici ('...') nel document.write nel caso di iex che ormai va bene per qualsiasi browser, i div ormai sono bibbia. Chiaro? direttamente scrivi quel codice html.

    In quel codice io cambierei indicando l'id dell'elemento con l'attributo html e non style (che penso sia solo interpretato da Explorer), quindi riassumendo scriverei direttamente:

    <div id="banner" style="width:120px; ... (il resto come segue)

    Solo non ho capito perché c'è tutta quella parte "dinamica" tramite file js e poi scrivi "scolpito" che l'immagine da visualizzare è il Banner1.jpg ... ma cmq non ho visto tutto , se gestisci una rotazione di banner etc..
    La rotazione mi sembra di averla vista ma non mi sembra richiamata da nessuna parte (i metodi loadBanner o Timer non li invoca nessuno, quini mi immagino rimanga solo il Banner1.jpg di default.


    Aggiungo:
    dimenticavo, quell'errore javascript sinceramente neanche a me viene rilevato dalla console javascript di firefox, e mi viene anche il dubbio che su firefox risulti true il document.layers, per quello consigliavo su di eliminare il controllo sul browser e di usare un codice html cross-browser (unico per tutti).
    Ad ogni modo non c'è dubbio che document.banner sia legato con i siti amici, infatti c'è questa riga nel file BannerAmici.js:
    document.banner.src = eval("banner" + i + ".src");

    per rendere ulteriormente cross-browser (anche il codice javascript del file js io sostituirei con:
    document.images.banner.src = eval("banner" + i + ".src");
    Ultima modifica di heracleum : 22-08-2006 alle ore 15.15.32
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  6. #6
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Citazione Originalmente inviato da heracleum
    document.banner.src = eval("banner" + i + ".src");
    uhm... questo funziona, o ci vuole document.getElementByID('banner') ?

  7. #7
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Quello che hai quotato tu penso proprio che non funzioni o quantomeno non è sicuramente cross-browser, e non era il codice che avevo proposto ma il codice che avevo trovato nel js, poco sotto vedi invece il codice:
    Codice:
    document.images.banner.src = eval("banner" + i + ".src");
    ora essendo document.images un oggetto (array) che dai tempi dei browser paleolitici come NS3 e IE4 è stato implementato in tutti i browser, non ci dovrebbero essere problemi ad utilizzarlo, il mio dubbio è tra:
    document.images.nomeimmagine.src = ...
    e
    document.images['nomeimmagine'].src = ...
    il secondo penso sia ancora migliore, in quanto array.
    Quindi in effetti per quella riga posso consigliare ulteriormente:
    Codice:
    document.images['banner'].src = eval("banner" + i + ".src");
    Ora il document.getElementById sicuramente è il metodo per reperire riferimenti a qualsiasi object generico del document, ma appunto, lavorando genericamente con gli object (e non oggetti di tipo Image nello specifico come l'array document.images) non so se può aver problemi a riconoscere la proprietà .src , non ci gioco niente, anche perché non faccio mai di questi swap di src, quindi a chi è più esperto di Image.src la parola ;)
    Aggiungo: da una ricerca al volo su google, superficiale perché non ho visitato i link ma solo letto i risultati, vedo che si può fare e pare sia crossbrowser il document.getElementById(imageid).src quindi, se funziona meglio ancora così.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •