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

    Stesso JavaScript, ma non funziona sul mio sito

    Salve,
    mi serve il vostro aiuto per venire a capo di una situazione che considero assurda...
    Da questo sito http://www.marcosanti.it/Gallery/Gallery.htm ho prelevato questo Javascript (il sito a sua volta fu oggetto del medesimo problema, ci sono arrivato via Google):
    codice:
    Mountains
    per aprire più pagine in frame differenti con un unico click sul link...

    In questo mio sito provvisorio http://gas75.interfree.it/Sito/index1.htm , se andate su Realizzazioni, Destinazioni d'uso, Case di riposo, occorrono 2 click per aprire il frame di sinistra con lo stesso menù ma con la voce Case di riposo evidenziata, e il frame di destra. Questo è il codice usato...
    Vorrei capire cosa c'è di differente... Il resto che c'è sul sito marcosanti.it mi pare codice di grafica piuttosto che funzionale a ottenere questo effetto.
    Perché a me non funziona con un unico click?

  2. #2
    La prima cosa che ho trovato è che top.destro non esiste .....
    E che la barra strumenti di WebDeveloper dice che il file viene reso in Quirks mode (manca od è errato il doctype)
    per i css:
    Warning: Unexpected end of file while searching for closing } of invalid rule set.
    Source File: http://gas75.interfree.it/Sito/fex.css
    Line: 13
    per il javascript, come ti ho detto:
    Error: top.destro is undefined
    Source File: http://gas75.interfree.it/Sito/menu/...stinazioni.htm
    Line: 1

    HTH
    Zappa

    P.S: Usa Firefox, installa la WebDeveloper Toolbar e FireBug .. ti renderanno molto più facile il lavoro!
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  3. #3
    Grazie della risposta.

    Ho rifatto il sito sostituendo agli iframe i frame, temendo una incompatibilità di Javascript con gli iframe (non so più cosa pensare) però il problema sussiste.
    Il frame "destro" esiste, sennò al secondo click su "case di riposo" non dovrebbe aprirsi la pagina a destra, non ti pare?
    Inoltre quel codice onclick="top.[nomeframe].location.href='nomepagina'" l'ho trovato anche in un'altra guida che spiega come creare link doppi sullo stesso oggetto o testo.
    L'head della pagina è identico a quello del sito cui ho preso il Javascript (pure lì manca il doctype, per la cronaca...), ma anche inserendolo il risultato non cambia: tutti i link via javascript sono ignorati!

    Per il css non capisco l'errore segnalato: il foglio di stile funziona, e tutte le parentesi graffe sono chiuse.

  4. #4
    Originariamente inviato da Gas75
    ...

    Per il css non capisco l'errore segnalato: il foglio di stile funziona, e tutte le parentesi graffe sono chiuse.
    ho guardato al file http://gas75.interfree.it/Sito/fex.css (basta cliccare, per vederlo) e ...
    Che c'azzeccano ad inizio e fine file <STYLE> e </STYLE> ????

    Mi sa che ti manchi qualche base oppure sei molto distratto ...

    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  5. #5
    Comunque, vedi se ti puo' servire:
    - Ho appena cliccato Realizzazioni nel menu principale, ed il link
    "Destinazioni d'uso" punta a http://gas75.interfree.it/Sito/menu/...stinazioni.htm

    lo clicco

    - Appare il link "Case di Riposo" che punta a http://gas75.interfree.it/Sito/menu/...sediriposo.htm

    lo clicco

    - Adesso il link "Case di Riposo" è diventato bianco, e punta a http://gas75.interfree.it/Sito/destr...sediriposo.htm , che è diverso da prima!

    lo clicco

    - Adesso la pagina di destra si riempie .. sfido, è un altro link!

    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  6. #6
    Allora... Per i css, io di solito li inserisco nel codice della pagina, ma visto che si tratta di un sito su commissione composto da centinaia di pagine, ho creato un css esterno... errore mio, ora ho corretto, e funziona... come funzionava prima.

    Per il link, so cosa succede, ma cliccando su "Case di riposo" dovrebbe fare due operazioni:
    1) aprire in quel frame "menu" un menù identico al primo ma con Case di riposo colorato bianco
    2) aprire nel frame "destro" la pagina che appare al secondo click.
    Il problema è che questo codice messo come link di Realizzazioni:
    apre solamente il link html e non il link Javascript.

    In ogni caso, ora ho rifatto il sito, e il problema si ripresenta (perché irrisolto) in altre situazioni.
    Dal menù in cima alla pagina (frame "sopra") voglio che cliccando su una voce qualsiasi (al momento ho preparato solo "Chi siamo" e "Specializzazioni") si carichino:
    1) il menù della sezione, nel frame "menu" di sinistra
    2) la pagina iniziale della sezione, nel frame "destro" di destra (pagine non ancora realizzate...)
    3) il menù principale aggiornato con la sezione appena cliccata in bianco, nel frame "sopra".
    Il sito parte da "Chi siamo", ma se clicchi su "Specializzazioni", ancora una volta si aggiorna soltanto il frame "menu", col link html, mentre gli altri link Javascript sono ignorati!
    Nel codice del link Specializzazioni c'è:
    passi per il frame "destro" che non è ancora fatto, ma potrai verificare facilmente che il frame "sopra" rimane sopra_chisiamo.htm anziché diventare sopra_specializzazioni.htm dove il titolo Specializzazioni è bianco mentre Chi siamo è grigio...
    http://gas75.interfree.it/Sito/sopra/sopra_chisiamo.htm
    http://gas75.interfree.it/Sito/sopra...lizzazioni.htm

    Non sto dicendo che il mio codice è perfetto, ma voglio capire perché nel sito da cui ho prelevato quel Javascript per fare i link tutto funziona mentre a me no!

  7. #7
    Scusa, ma mi sento di consigliarti di rivedere il codice delle pagine, con i seguenti step:
    - Scegli un DOCTYPE, aggiungilo alla pagina e attieniti ad esso
    - Evita di annidare frameset di frameset di frameset ... se scegli il DOCTYPE Frameset, UNO ce ne deve essere, di frameset, con i suoi frames all'interno. In questo modo esiste top.destro. Nel tuo caso, top.destro non esiste. Ok, c'è un frame che ha name 'destro', ma non è figlio di top, ma figlio, se non ricordo male, di un frameset senza nome di un frameset che forse ha il nome di 'principale' ... quindi top.destro non esiste.
    - valida le pagine!!! (non hai idea di quanti errori ci siano!)

    Buon lavoro, ne hai bisogno!

    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  8. #8
    Il doctype è questo
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    l'ho inserito in tutte le pagine (offline) che danno quel problema, ho scoperto che per far funzionare i link Javascript occorre che non ci siano iframe, quindi ho sacrificato di contenere il sito in un riquadro a larghezza fissa... Risultato: ora funziona il link html e uno dei due Javascript, ma non quello che ricarica il menù generale in alto.

    Sui frameset, non posso fare altrimenti, dev'essere strutturato in quel modo, non per mia volontà.
    Mi permetto solo di farti notare, nuovamente, che nel sito dove ho trovato il codice per i link in Javascript:
    - i frameset sono senza nome
    - non c'è alcun doctype
    e nonostante questo i link Javascript funzionano.

  9. #9
    Ok, allora:

    Uno script che 'abita' nel frame di name='menu' per potere cambiare il location.href del frame il cui name è 'destro' deve sapere dov'&egrave; rispetto a se stesso il frame 'destro'.

    In una condizione 'normale', cioè, ad esempio, con un solo frameset che contiene ad esempio 3 frames, scrivere top.nomeframe.location.href=... ci facilita il compito di calcolare il 'percorso' rispetto al frame in cui c'è l'azione rispetto al frame target.

    Nel tuo caso il frame che ha name='destra' non è figlio di 'top', ma è fratello (allo stesso livello) del frame che ha name='menu'.

    QUINDI: (guarda il rosso)

    that's all, folks!

    ... però mi rimane la curiosità di dove si sia andato ad infilare il frame 'destro', nell'albero, rispetto a 'top' ... boh!


    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  10. #10
    Ho risolto con una differente funzione Javascript, che vale sempre, almeno nel caso che sto affrontando.
    Nell'head ho
    codice:
    <SCRIPT language="JavaScript"> 
    <!-- 
    function change_chisiamo() 
    { 
    parent.sopra.location="sopra_chisiamo.htm"; 
    parent.menu.location="../menu/menu_chisiamo.htm"; p
    arent.destro.location="../destro/chisiamo/home_chisiamo.htm"; 
    }
    ecc... ecc...
    -->
    </SCRIPT>
    Mentre i link li ho sistemati con:
    codice:
    Chi siamo
    tra java e script non c'è nessun trattino però! Appare qui nel forum!
    In pratica dichiaro una function per ogni gruppo di link da aprire.

    Tra parentesi, in merito alla qualità del codice utilizzato e i relativi errori, ti cito una frase che lessi fuori dal negozio ambulante di un venditore di panini imbottiti: "Se mi paghi come dico io, ti servo come dici tu. Se mi paghi come dici tu, ti servo come dico io."
    Detto questo, ti lascio dedurre che tipo di "panino" rappresenti questo sito che sto realizzando...

    PS: Grazie della collaborazione.

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.