C'è un modo per far sì che un link apra una nuova finestra del browser (non una scheda) senza usare javascript?
Con l'HTML puro non puoi influenzare questo - ogni browser moderno (= l'utente) ha il controllo completo su questo comportamento perché è stato molto abusato in passato...
Puoi aprire una nuova finestra (HTML4) o un nuovo contesto di navigazione (HTML5). Il contesto di navigazione nei browser moderni è per lo più "nuova scheda" invece di "nuova finestra". Non hai alcuna influenza su questo, e non puoi "forzare" i browser moderni ad aprire una nuova finestra.
Per fare questo, usate l'attributo target
dell'elemento anchor element'sup>[1]. Il valore che state cercando è _blank
[2].
<a href="www.example.com/example.html" target="_blank">link text</a>
Forzare una nuova finestra è possibile tramite javascript - vedi Ievgen'eccellente risposta qui sotto per una soluzione javascript.
*(!) Tuttavia, siate consapevoli che l'apertura di finestre via javascript (se non è fatta nell'evento onclick di un elemento di ancoraggio) è soggetta a essere bloccata dai blocchi popup!
Questo attributo risale ai tempi in cui i browser non avevano schede e l'uso dei frameset era lo stato dell'arte. Nel frattempo, la funzionalità di questo attributo è leggermente cambiata (vedi MDN Docu)
Ci sono alcuni altri valori che non hanno più molto senso (perché sono stati progettati con i frameset in mente) come _parent
, _self
o _top
;
Puoi provare questo:-
<a href="some.htm" target="_blank">Link Text</a>
e puoi provare anche questo:-
<a href="some.htm" onclick="if(!event.ctrlKey&&!window.opera){alert('Hold the Ctrl Key');return false;}else{return true;}" target="_blank">Link Text</a>