javascript open Va bene usare target="_ blank" in HTML5?




window open javascript (8)

Sembra che target="_blank" sia ancora a posto. È elencato come parola chiave del contesto di navigazione nell'ultima bozza HTML5 .

Ricordo di aver letto da qualche parte che in HTML5 non era più corretto usare target="_blank" in HTML5, ma non riesco a trovarlo ora.

Va bene continuare a usare target="_blank" ?

So che è generalmente considerata una cattiva idea, ma è il modo più semplice per aprire una nuova finestra per qualcosa di simile a un PDF, e inoltre non richiede di fare affidamento su JavaScript.


La maggior parte degli sviluppatori web utilizza target="_blank" solo per aprire i collegamenti in una nuova scheda. Se si utilizza target="_blank" solo per aprire i collegamenti in una nuova scheda, allora è vulnerabile a un utente malintenzionato. Quando apri un link in una nuova scheda ( target="_blank" ), la pagina che si apre in una nuova scheda può accedere alla scheda iniziale e modificarne la posizione utilizzando la proprietà window.opener .

Codice Javascript:

window.opener.location.replace(malicious URL)

Prevenzione:

rel="nofollow noopener noreferrer"

è il modo più semplice per aprire una nuova finestra per qualcosa come un PDF

È anche il modo più semplice per infastidire gli utenti non Windows. PDF aperto bene nei browser su altre piattaforme. Aprire una nuova finestra incasina la cronologia di navigazione e complica la materia su piattaforme più piccole come gli smartphone.

NON aprire nuove finestre per cose come PDF solo perché le versioni precedenti di Windows erano rotte.


Penso che l'attributo target sia deprecato per l'elemento <link> , non <a> , questo è probabilmente il motivo per cui hai sentito che non dovrebbe più essere usato.


Puoi farlo nel seguente modo con jquery, questo lo aprirà in una nuova finestra:

<input type="button" id="idboton" value="google" name="boton" /> 

<script type="text/javascript">
    $('#idboton').click(function(){
        window.open('https://www.google.com.co');
    });

</script>


Sebbene il target="_blank" sia accettabile in HTML5 , personalmente cerco di non utilizzarlo mai (anche per l'apertura di PDF in una nuova finestra).

L'HTML dovrebbe definire il significato e il contenuto . Chiediti: "il significato di a elemento cambierebbe se l'attributo target fosse rimosso?" In caso contrario, il codice non dovrebbe andare nell'HTML. (In realtà sono sorpreso che il W3C lo abbia tenuto ... Immagino che non riescano davvero a lasciar perdere.)

Il comportamento del browser, in particolare, il comportamento interattivo con l'utente , dovrebbe essere implementato con linguaggi di scripting lato client come JavaScript. Dal momento che vuoi che il browser si comporti in un modo particolare, cioè aprendo una nuova finestra, dovresti usare JS. Ma come hai detto, questo comportamento richiede che il browser faccia affidamento su JS. (Anche se il tuo sito degrada con grazia, o migliora progressivamente, o qualsiasi altra cosa , allora dovrebbe essere ancora okay. Gli utenti con JS disabilitati non mancheranno molto.)

Detto questo, nessuna di queste è la risposta giusta. Là fuori da qualche parte c'è l'opinione che il modo in cui un link si apre dovrebbe essere deciso dall'utilizzatore finale . Prendi questo esempio.

Stai navigando su Wikipedia, diventando sempre più profondo in una tana del coniglio. Ti imbatti in un link nella tua lettura.

Diciamo che vuoi sfogliare velocemente la pagina collegata prima di tornare indietro. Potresti aprirlo in una nuova scheda e chiuderlo quando hai finito (perché premere il pulsante "indietro" e attendere che la ricarica della pagina impieghi troppo tempo). Oppure, cosa succede se sembra interessante e vuoi salvarlo per dopo? Forse dovresti aprirlo in una nuova scheda in background e continuare a leggere la pagina corrente. Oppure, forse decidi di aver finito di leggere questa pagina, quindi segui semplicemente il link nella scheda corrente.

Il punto è che tu hai il tuo flusso di lavoro e vorresti che il tuo browser si comportasse di conseguenza. Potresti essere piuttosto frustrato se facesse questo tipo di decisioni per te.

Detto questo, gli sviluppatori web dovrebbero rendere assolutamente chiaro dove vanno i loro collegamenti, quali tipi e / o formati di fonti fanno riferimento e cosa fanno. I tooltip possono essere tuoi amici (a meno che tu non stia utilizzando un tablet o un telefono, in tal caso, specifica questi sul sito mobile). Sappiamo tutti quanto fa schifo per essere portato da qualche parte che non ci aspettavamo o fare qualcosa che non volevamo.


Va bene usare target="_blank" ; Questo è stato eliminato con XHTML perché il targeting di nuove finestre farà apparire l'avviso pop-up nella maggior parte dei browser. XHTML mostrerà sempre un errore con l'attributo target in una convalida.

HTML 5 lo ha riportato indietro perché lo usiamo ancora. È nostro amico e non possiamo lasciarlo andare.

Mai lasciare andare.





window