Va bene usare target = “_ blank” in 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 ctriggers 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.

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

Va bene usare target="_blank" ; Questo è stato eliminato con XHTML perché il targeting di nuove windows 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.

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 rabbitmq. 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 stream 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.

è 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 piattaforms. Aprire una nuova finestra incasina la cronologia di navigazione e complica la materia su piattaforms più piccole come gli smartphone.

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

Sebbene l’objective sia ancora accettabile in HTML5, non è preferito. Per colbind a un file PDF utilizzare l’attributo download anziché l’attributo target.

Ecco un esempio:

 Invoice 

Se il nome del file originale è codificato per la memorizzazione di file univoci, è ansible specificare un nome di download user-friendly assegnando un valore all’attributo download:

 Invoice 

Tieni presente che, mentre la maggior parte dei browser moderni supporta questa funzione, alcuni potrebbero non esserlo. Vedi caniuse.com per maggiori informazioni.

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" 

Penso che l’attributo target sia deprecato per l’elemento , non , 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: