it-swarm.com.de

Ist es in Ordnung, target = "_ blank" in HTML5 zu verwenden?

Ich erinnere mich, dass ich irgendwo gelesen habe, dass es in HTML5 nicht mehr in Ordnung war, target="_blank" In HTML5 zu verwenden, aber ich kann es jetzt nicht finden.

Ist es in Ordnung, weiterhin target="_blank" Zu verwenden?

Ich weiß, dass dies im Allgemeinen eine schlechte Idee ist, aber es ist die einfachste Möglichkeit, ein neues Fenster für eine PDF-Datei zu öffnen, und Sie müssen sich auch nicht auf JavaScript verlassen.

156
Darryl Hein

Es sieht aus wie target="_blank" ist noch in Ordnung. Es wird als Schlüsselwort für den Browserkontext in dem neuesten HTML5-Entwurf aufgeführt.

151
mike

Es ist in Ordnung, target="_blank"; Dies wurde in XHTML beseitigt, da bei der Ausrichtung auf neue Fenster in den meisten Browsern immer eine Popup-Warnung angezeigt wird. XHTML zeigt immer einen Fehler mit dem Zielattribut in einer Überprüfung an.

HTML 5 hat es zurückgebracht, weil wir es immer noch verwenden. Es ist unser Freund und wir können nicht loslassen.

Lass niemals los.

89
Graham

Obwohl das target="_blank" is in HTML5 akzeptabel , ich persönlich versuche es nie zu benutzen (auch nicht zum Öffnen von PDFs in einem neuen Fenster).

HTML sollte die Bedeutung und den Inhalt definieren . Fragen Sie sich, “würde sich die Bedeutung des Elements a ändern, wenn das Attribut target entfernt würde ? ” Wenn nicht, sollte der Code nicht im HTML stehen. (Eigentlich bin ich überrascht, dass das W3C es behalten hat. Ich denke, sie können es einfach nicht loslassen.)

Browser Verhalten , insbesondere interaktives Verhalten mit dem Benutzer, sollte mit clientseitigen Skriptsprachen wie JavaScript implementiert werden. Da Sie möchten, dass sich der Browser auf eine bestimmte Weise verhält, d. H. Ein neues Fenster öffnet, sollten Sie JS verwenden. Wie Sie bereits erwähnt haben, muss sich der Browser für dieses Verhalten auf JS verlassen. (Wenn sich Ihre Website jedoch in angemessener Weise verschlechtert oder progressiv verbessert, oder was auch immer , sollte dies immer noch in Ordnung sein. Die Nutzer mit deaktiviertem JS werden nicht viel verpassen.)

Davon abgesehen ist keines der beiden die richtige Antwort. Irgendwo da draußen ist die Meinung, dass wie ein Link geöffnet wird, letztendlich vom Endbenutzer entschieden werden sollte. Nehmen Sie dieses Beispiel.

Sie surfen in Wikipedia und tauchen immer tiefer in ein Kaninchenbau ein. Sie stoßen in Ihrer Lektüre auf einen Link.

Angenommen, Sie möchten die verknüpfte Seite ganz schnell überfliegen, bevor Sie zurückkehren. Sie können es in einem neuen Tab öffnen und dann schließen, wenn Sie fertig sind (da es zu lange dauert, auf die Schaltfläche "Zurück" zu klicken und auf das Neuladen der Seite zu warten). Oder was ist, wenn es interessant aussieht und Sie es für später speichern möchten? Vielleicht sollten Sie es stattdessen in einem neuen Hintergrund-Tab öffnen und die aktuelle Seite weiter lesen. Oder Sie haben sich entschieden, diese Seite nicht mehr zu lesen. Folgen Sie dazu einfach dem Link auf der aktuellen Registerkarte.

Der Punkt ist, Sie haben Ihren eigenen Workflow und möchten, dass sich Ihr Browser entsprechend verhält. Sie könnten ziemlich frustriert sein, wenn diese Art von Entscheidungen für Sie getroffen wird.

Daher sollten Webentwickler unbedingt klarstellen, wohin ihre Links führen, welche Arten und/oder Formate von Quellen sie referenzieren und was sie tun. QuickInfos können Ihr Freund sein (es sei denn, Sie verwenden ein Tablet oder ein Telefon; in diesem Fall geben Sie diese auf der mobilen Website an). Wir alle wissen, wie sehr es uns schadet, irgendwohin gebracht zu werden, wo wir nichts erwartet oder etwas zustande gebracht haben, was wir nicht wollten.

15
chharvey

es ist der einfachste Weg, ein neues Fenster für so etwas wie ein PDF zu öffnen

Dies ist auch der einfachste Weg, um Nicht-Windows-Benutzer zu ärgern. PDF in Browsern auf anderen Plattformen problemlos öffnen. Durch das Öffnen eines neuen Fensters wird auch die Navigationshistorie durcheinander gebracht und die Angelegenheit auf kleineren Plattformen wie Smartphones kompliziert.

Öffnen Sie KEINE neuen Fenster für Dinge wie PDF nur weil ältere Versionen von Windows kaputt waren.

12
Homer

Die meisten Webentwickler verwenden target="_blank" Nur, um Links in einem neuen Tab zu öffnen. Wenn Sie target="_blank" Nur zum Öffnen von Links in einem neuen Tab verwenden, ist dies für einen Angreifer anfällig. Wenn Sie einen Link in einer neuen Registerkarte öffnen (target="_blank"), Kann die Seite, die in einer neuen Registerkarte geöffnet wird, über die Eigenschaft window.opener Auf die ursprüngliche Registerkarte zugreifen und deren Position ändern.

Javascript-Code:

window.opener.location.replace(malicious URL)

Verhütung:

rel="nofollow noopener noreferrer"
4
Vamshi Krishna

Obwohl das Ziel in HTML5 noch akzeptabel ist, wird es nicht bevorzugt. Um eine Verknüpfung zu einer PDF Datei herzustellen, verwenden Sie das Download-Attribut anstelle des Zielattributs.

Hier ist ein Beispiel:

<a href="files/invoice.pdf" download>Invoice</a>

Wenn der ursprüngliche Dateiname für die eindeutige Dateispeicherung codiert ist, können Sie einen benutzerfreundlichen Downloadnamen angeben, indem Sie dem Downloadattribut einen Wert zuweisen:

<a href="files/j24oHPqJiUR2ftK0oeNH.pdf" download="invoice.pdf">Invoice</a>

Beachten Sie, dass die meisten modernen Browser diese Funktion möglicherweise nicht unterstützen. Siehe caniuse.com für weitere Informationen.

4
kojow7
2
Brendan

Sie können dies mit jquery auf folgende Weise tun, dies öffnet es in einem neuen Fenster:

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

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

</script>