Link ad una popup funzionante anche con JS disabilitato

3 agosto 2007 at 10:23 4 commenti

Di solito un link ad una popup viene fatto così:

<script>
function apriGoogleIt(){
window.open(‘http://www.google.it&#8217;,’_blank’);
}
</script>
<a href=”javascript:apriGoogleIt()”>Apri Google Italia</a>

oppure così:

<a href=”javascript:;” onclick=”window.open(‘http://www.google.it&#8217;,’_blank’)”>Apri Google Italia</a>

In caso di javascript disabilitato, però, il link non funzionerà più. Inoltre, nel secondo caso dovrebbe essere previsto anche il caso “onkeypress”. E’ possibile far funzionare lo stesso sia con JS abilitato che con JS disabilitato, anche se in caso di JS OFF il sito non verrà mostrato in popup, ma sempre meglio di niente:

<a href=”http://www.google.it'&#8221; onclick=”window.open(this.href,’_blank’);return false;” onkeypress=”this.onclick();return false;”>Apri Google Italia</a>

EDIT:

Se volete assolutamente aprire una nuova finestra anche con JS disabilitato, e non avete problemi di accessibilità o XHTML, potete sempre ricorrere a SCRIPT e NOSCRIPT:

<script>
document.write(‘<a href=”http://www.google.it'&#8221; onclick=”window.open(this.href,’_blank’);return false;” onkeypress=”this.onclick();return false;”>Apri Google Italia</a>’) ;
</script>
<noscript>
<a href=”http://www.google.it'&#8221; target=”_blank”>Apri Google Italia</a>
</noscript>

Entry filed under: Accessibilità, JavaScript. Tags: .

Comprimere JavaScript: ne vale la pena? Includere js dinamicamente

4 commenti Add your own

  • 1. Giacomo  |  22 ottobre 2007 alle 16:22

    Ciao. Articolo interessante ma… in questo caso Apri Google Italia si apre un’altra finestra, ma anche in quella precedente si carica google.it. Sono io che sto sbagliando qualcosa?

    P.S. blog molto utile. complimenti!

    Saluti

    Rispondi
  • 2. Giacomo  |  22 ottobre 2007 alle 16:23

    Ciao. Articolo interessante ma… in questo caso Apri Google Italia si apre un’altra finestra, ma anche in quella precedente si carica google.it. Sono io che sto sbagliando qualcosa?

    Potresti gentilmente mandarmi una mail per dirmi che hai risposto? Grazie

    P.S. blog molto utile. complimenti!

    Saluti

    Rispondi
  • 3. Giacomo  |  22 ottobre 2007 alle 16:26

    (scusami per i commenti a ripetizione, ma non si leggeva il link)

    Ciao. Articolo interessante ma… in questo caso
    <a href=”http://www.google.it’&#8221; onclick=”window.open(this.href,’_blank’)” onkeypress=”this.onclick()”>Apri Google Italia</a>
    si apre un’altra finestra, ma anche in quella precedente si carica google.it. Sono io che sto sbagliando qualcosa?

    Potresti gentilmente mandarmi una mail per dirmi che hai risposto? Grazie

    P.S. blog molto utile. complimenti!

    Saluti

    Rispondi
  • 4. jure  |  23 ottobre 2007 alle 10:35

    Vero, avevo dimenticato i “return false” su onclick e onkeypress! Grazie per la segnalazione!

    Rispondi

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Trackback this post  |  Subscribe to the comments via RSS Feed


Categorie

JavaScript String .replace

Archivi

Seguimi su Twitter


%d blogger cliccano Mi Piace per questo: