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

    Impedire che, all'apertura di un link in una nuova pagina, la pagina precedente scorra in alto

    Ciao a tutti. Mi sono registrato solo oggi e questo è il mio primo messaggio.
    Mi sono iscritto perchè sono un vero principiante del codice html, css ecc.
    Ho un mio sito aperto da secoli fatto in Dreamweaver da me.
    Il codice per le pagine o lo scrive Dreamweaver per me o sono semplici codici aggiungi col copia incolla.
    Il sito è questo: www.giannisoldati.com

    C'è un problema da sempre nel mio sito e ho dovuto conviverci perchè non so risolverlo ne riesco con google a trovare una soluzione. Le pagine del mio sito contengono molte miniature di immagini tutte con lo stesso codice che apre l'immagine grande in una pagina separata.
    Niente di nuovo anzi...un sistema vecchio come il cucco.
    Il codice per aprire la pagina con l'immagine grande in una finestra separata dal sito è questo:

    codice HTML:
    <a href="#" onClick="MM_openBrWindow('gallery/lavori_3d/gravel_dirt_render.html','','scrollbars=yes,resizable=yes,width=1024,height=768')"><img src="gallery/lavori_3d/gravel_dirt_render_thb.jpg" alt="" width="500" height="281"></a>

    Il codice funziona senza problemi. Clicco sulla miniatura e si apre la pagina con l'immagine in una finestra separata. Però succede anche una cosa spiacevole!
    La pagina di partenza, quella contenente le miniature torna ogni volta in alto! Se la miniatura da cliccare è a fondo pagina quando la clicco la pagina torna al titolo in alto ogni volta!
    E' una grandissima rottura di scatole perchè un visitatore deve ogni volta scrollare la pagina per tornare dove si trovava prima. Questo succede sia con Firefox che IE.

    Qualcuno conosce un sistema per impedire al browser di far tornare la pagina in alto?

    Se volete provare di persona andare nel mio sito (il link è qui sopra). Entrate dove c'è scritto Sito. Scorrete un po' la pagina di benvenuto e cliccate una delle immagini presenti e vedrete che la pagina di Benvenuto torna in alto mentre si apre la pagina contenente l'immagine grande.

    Come capite sono un principiante dell'html e ne conosco solo le basi. Stesso dicasi del css. Ma se si tratta di scrivere codice sono allo zero assoluto.

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,782
    la soluzione dovrebbe essere semplice:
    codice:
    <a href="" onClick="return false; MM_openBrWindow('gallery/lavori_3d/gravel_dirt_render.html','','scrollbars=yes,resizable=yes,width=1024,height=768')"><img src="gallery/lavori_3d/gravel_dirt_render_thb.jpg" alt="" width="500" height="281"></a>

    usa il tag CODE per postare codice sul forum, funziona meglio

  3. #3
    Quindi la "chiave di volta" è quel "return false"? Domani provo subito.
    Se funzionerà mi toccherà aggiustare un milione di link nel sito....speriamo di trovare anche un modo per farlo in automatico tramite dreamweaver...altrimenti impazzirò.
    Intanto grazie tante! A saperlo chiedevo secoli fa..che stupido a non farlo subito.

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,782
    forse sarebbe ora di crearsi un sito dinamico

  5. #5
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao e benvenuto.

    E' buona la soluzione proposta da Vincent ma aggiungo una piccola informazione.
    Sarebbe meglio spostare quel return false alla fine dell'onclick per essere cross-browser.

    Spiego molto sinteticamente. In sostanza il return false previene l'azione di default del link, che è quella di aprire la pagina riferita ad uno specifico indirizzo e che normalmente viene aperta mostrando l'inizio della pagina.
    Ora, il tuo link è un'ancora interna con un hashtag fittizio (quell'href="#") il quale, non avendo riscontro nella pagina, comporta lo "spostamento" della pagina stessa in modo che sia mostrato l'inizio (cioè il problema che riscontri).

    Ovviamente tu stai comunque aggirando il normale comportamento del link, aprendo invece la pagina attraverso JavaScript, ma l'azione di default resta tale.

    Col return false impedisci questo comportamento lasciando però che JavaScript agisca per aprire una nuova finestra.

    Di norma, però, in JavaScript il return provoca l'uscita immediata dalla funzione in cui è posto, impedendo di fatto l'esecuzione dello script che segue nel resto di tale funzione.

    Questo non funziona su Chrome (forse perché è più tollerante o più intelligente, non so) ma in altri browser come Firefox e qualche versione di IE, otterrai un effetto nullo (cioè il link non funziona proprio), proprio perché il return (posto all'inizio) fa il suo dovere.

    Per tale motivo consiglio di mettere, sì, il return false ma di inserirlo alla fine, in questo modo:
    codice:
    <a href="#" onClick="MM_openBrWindow('gallery/lavori_3d/gravel_dirt_render.html','','scrollbars=yes,resizable=yes,width=1024,height=768'); return false;"><img src="gallery/lavori_3d/gravel_dirt_render_thb.jpg" alt="" width="500" height="281"></a>
    forse sarebbe ora di crearsi un sito dinamico
    Quoto
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  6. #6
    Non ho resistito e ho provato subito.
    E' come dice Killerworm. Ho dovuto mettere il return false alla fine del link come dice lui.
    Altrimenti non si apriva la pagina ne succedeva altro.

    Ma ora funziona! Devo aggiornare solo un migliaio di link ora...sob...Grazie!

    Vincent mi suggerisce un sito dinamico! Già...sapessi che vuol dire! Io mi fermo all'html e capisco a fatica il senso del css (che uso un po' a casaccio fidandomi di dreamweaver).
    Sono un grafico, ho realizzato bottoni, interfacce, banner, ecc ecc...ma ai tempi dell'html quando un grafico poteva farsi tutto da solo. Ora bisognerebbe studiarsi linguaggi su linguaggi. Un incubo.

    Se un giorno trovo un "template" già pronto per crearsi un sito "dinamico" senza scrivere una riga di testo lo faccio subito! Io campo di template e codici pronti! Eh eh...

    E mi piacerebbe avere un sito così...con riquadri che si aprono al passaggio del mouse, sfondi che scorrono...tutte robe fichissime ai miei occhi. Tanto quanto incomprensibili!

    Avrei un'altra domanda ma riguarda la grafica quindi la farò nella sezione apposita!
    Grazie raga!

  7. #7
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,782
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    Questo non funziona su Chrome (forse perché è più tollerante o più intelligente, non so) ma in altri browser come Firefox e qualche versione di IE
    penta te... l'avevo messo alla fine e pareva non funzionare, probabilmente avevo sbagliato immagine da cliccare

  8. #8
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Se un giorno trovo un "template" già pronto per crearsi un sito "dinamico" senza scrivere una riga di testo lo faccio subito! Io campo di template e codici pronti! Eh eh...
    Potresti affidarti ad uno dei vari CMS (vedi Joomla, Wordpress, ecc..) e smanettare giusto sul pannello di amministrazione.. non c'è molto da programmare, ma ovviamente ci vuole un po' per capire il sistema. Poi puoi buttarci dentro qualche estensione/plugin per gestire slideshow/gallerie/lightbox e tutti i giochini che vuoi metterci dentro.

    Non uso DW ma da quel che ho visto (qui ad esempio) puoi fare un trova/rimpiazza su molteplici file usando anche delle regex (..sai che sono? non ti dico di imparare a scrivere una espressione regolare ma se serve puoi chiedere) così da inserire quella roba in modo (diciamo) automatico.


    ....


    penta te... l'avevo messo alla fine e pareva non funzionare, probabilmente avevo sbagliato immagine da cliccare
    troppi pensieri in testa .. e sempre meno neuroni stabili
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  9. #9
    Usando il trova e sostituisci di Dreamweaver, puoi rimpiazzare il cancelletto con "javascript:void(0)" senza modificare, nei files, l'onClick.

    Metti nel campo "cerca":
    codice:
    <a href="#" onClick="MM_openBrWindow
    e nel campo "sostituisci":
    codice:
    <a href="javascript:void(0)" onClick="MM_openBrWindow
    Dal menu a tendina della finestra di dialogo "Trova e Sostituisci" seleziona "Apri documenti" (E' una traduzione errata in DW, dovrebbe essere "documenti aperti") e poi clicca sostituisci tutto.

  10. #10
    Mmm...ma perchè non va bene il cancelletto? L'avevo imparato in un videotutorial e ha sempre funzionato.

    Cambiando il cancelletto in javascript;void(0) poi non dovrei più aggiungere il "return false" alla fine?
    O sono due cose separate, una il cancelletto e l'altra il "return false"?

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.