Wie in HTML öffnet Link in einem neuen Tab

Aufgabe

Erstellen Sie einen Link, der ein Dokument in einem neuen Fenster geöffnet.

Entscheidung

Standardmäßig Links öffnen im gleichen Fenster, in dem sie sich befinden. Jede Bezugnahme in einem neuen Fenster zu öffnen, um Tag an das Zielattribut hinzugefügt werden soll mit einem Wert von _blank, wie in Beispiel 1 gezeigt.

Beispiel 1: Link in einem neuen Fenster





Ссылки


Ссылка откроется в этом окне


Ссылка откроется в новом окне



Beachten Sie, wenn Sie ein strenges verwenden Sie das Zielattribut in HTML4 und XHTML-Code und verurteilen er die Überprüfung nicht bestanden wird. Das in diesem Fall die Verbindung zu machen in einem neuen Fenster zu öffnen und die Richtigkeit des Codes beobachten, einig HTML und CSS ist nicht genug, also müssen Sie die Skripte drehen. Zuerst müssen Sie irgendwie die Links hervorheben, die in einem neuen Fenster, zum Beispiel öffnen das Attribut rel mit dem externen Wert. Dieses Attribut beschreibt kurz den Link oder wohin er führt. Browser erkennt dieses Attribut nicht, aber dies ist nicht erforderlich, da wir alle Links über JavaScript (Beispiel 2) überprüfen. Passen alle auf das gleiche Ziel hinzugefügt Links. Aber wie es in der Software durchgeführt wird, fällt der Validator nicht den Trick.

  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">



Ссылка в новом окне



Ссылка откроется в текущем окне


Ссылка откроется в новом окне



Sie nicht, Ihren Code direkt in den Kommentaren legen, ist es nicht richtig angezeigt. Nutzen Sie den Service cssdeck.com oder jsfiddle.net, den Code in den Kommentaren speichern und einen Link geben. sehen und sofort das Ergebnis.

Lesen Sie mehr:   Wie eine Datei Site Map erstellen

Sponsored

  • Sponsored

TARGET _BLANK

Die meisten der Schaffung eingehende Links durch target = „_ blank“ und weiß nicht , von einer interessanten Nuancen - der Seite , wo wir so eine teilweise Kontrolle des Aufrufens ihm Seite von js Eigenschaft erhalten erhalten window.opener .

Durch window.opener.location können wir eine Umleitung zum Beispiel einer Phishing - Seite tun. Es ist eine Art Tabnabbing, nur weiter fortgeschritten. Da das Opfer am wenigsten erwartet früher in den offenen Substitution von Seiten, ein vertrauenswürdigen Browser - Tab.

Das Problem ist nicht neu, aber immer noch relevant, und wie ich sehe, nicht viele Leute wissen darüber.

Das Problem besteht auch in Facebook.

Zum Beispiel - öffnen Sie den Beitrag, klicken Sie auf der Ref. Wir schauen, was mit dem Reiter passiert, an dem wir diesen Beitrag eröffnet.

Ich versteckte wegen Beschwerden über die Notwendigkeit Veröffentlichung im FB Zugriff auf das Konto wiederherzustellen, nachdem auf den Link (PRF) klicken. Sie können versuchen, versteckte sli.su/kitten.html Veröffentlichung auf der Seite aufzunehmen oder um zu sehen, wie es funktioniert Habré

Sli.su/kitten.html auf der Seite haben Sie den folgenden Code:

window.opener.location = 'https://sli.su/facebook.com/auth.html';

Es schafft eine Umleitungsseite der zuvor vertraut. Dies ist, weil der Browser sagte niemand, dass die Öffnung Seite keinen Zugriff auf die übergeordneten Registerkarte haben sollte. Zum Zeitpunkt der Veröffentlichung in Chrom keine Probleme erfüllen 50, firefox 45, Oper 36.

So viele Websites sündigen, und einige nicht einmal halten es für ein Problem „auf seiner Seite» sites.google.com/site/bughunteruniversity/nonvuln/phishing-with-window-opener

Lösungen für das Problem:

1. Fügen Sie Referenzen:

rel="noopener"

Es kann auch sein,

rel="nofollow noopener"

2. Öffnen Sie alle externen Links durch eigene, eine Zwischenseite, die Code funktionieren sollte:

window.opener = null;

3. Öffnen Sie Links in einem neuen Tab von js:

var otherWindow = window.open();
otherWindow.opener = null;
otherWindow.location = targetUrl;

4. fangen alle Klicks auf die Links, und im Moment des Übergangs ein verstecktes iframe zu schaffen, durch die und die Öffnung Seite in einem neuen Tab zu tun. github.com/danielstjules/blankshield - js-Plugin, das gemäß der Beschreibung, löst das Problem (nicht persönlich getestet).

Lesen Sie mehr:   CREATE eine neue Website für TIMEWEB

PS: In FF nicht funktioniert rel = «noopener» - habrahabr.ru/post/282880/#comment_8879594. Stattdessen ist es möglich , die rel = noreferrer zu verwenden.

PPS: Für alle, die den Original - Artikel https denkt: //medium.com/@jitbit/target-blank-the-most-under ... - das Datum der Veröffentlichung vergleichen. Mein Artikel veröffentlicht am 3. Mai. Englische Sprache - 4..

Wie der Link öffnet in einem neuen Fenster machen oder ...

Wenn Sie auf ein Dokument verknüpfen möchten, die in einem neuen Browser-Fenster öffnet, verwenden Sie das Attribut target = „_ blank“ .

Erstellen Sie ein neues Fenster wird in der Regel dann erforderlich, wenn Bezug auf einen anderen Standort erfolgt. In anderen Fällen ist es besser, Dokumente im aktuellen Fenster zu öffnen, da die Fülle von Fenstern der Leser verwirren erfassen kann.

Da der Verweis auf die aktuellen und das neue Fenster nicht voneinander unterscheiden, auf einigen Websites nächste Link ein spezielles Symbol zu setzen, was darauf hinweist, dass das Dokument in einem neuen Fenster geöffnet wird.

Beispiel 1: Erstellen Sie einen Link in neuem Fenster öffnen





Ссылки


Обычная ссылка на сайт www.htmlbook.ru


Ссылка
открывает новое окно на сайт www.htmlbook.ru



Wenn Sie Ihre Webseite in einem neuen Fenster, dass alle Links öffnen getan werden, so braucht, gibt es keine Notwendigkeit, die Tags alle Attribut target = „_ blank“ hinzuzufügen. Code kann reduziert werden, wenn die Seite zuerst ein hinzuzufügen, wie in Beispiel 2 gezeigt.

Beispiel 2. Mit dem Tag





Ссылки



Ссылка откроется в новом окне


Ссылка откроется в
текущем окне



Machen Sie den Link öffnet im aktuellen Fenster, in welchem ​​Fall es möglich ist, wenn wir auf das Attribute target = „_ self“ hinzufügen, wie in diesem Beispiel gezeigt.

Lesen Sie mehr:   nach der Änderung MOTHERBOARDS NICHT WINDOWS laufen kann

Beachten Sie, dass das Zielattribut für strenges nicht gültig ist.

in anderen Sprachen lesen

 BelorussianEnglisch Deutsch Spanisch Französisch Italienisch Portugiesisch Türkisch Arabisch Ukrainisch Schwedisch Ungarisch Bulgarisch Estnisch Chinesisch (vereinfacht) Vietnamesisch Rumänisch thailändisch Slowenisch Slowakisch serbisch malaiisch Norwegisch Lettisch Litauisch Koreanisch Japanisch Indonesier Hindi Hebräisch Finnisch Griechisch Holländisch Tschechisch Dänisch kroatisch Chinesisch (traditionell) Philippine Urdu Azeybardzhansky Armenischpolnisch Bengali georgisch Kasachisch Katalanisch Mongolski Russisch Tadzhitsky Tamil'skij telugu Uzbetsky

Kommentar hinzufügen

Ihre E-Mail wird nicht veröffentlicht. Erforderliche Felder sind markiert *