Heim  >  Artikel  >  Web-Frontend  >  Die Webseite wird in einem neuen Fenster geöffnet. target=_blank entspricht nicht den Standards_Experience-Austausch

Die Webseite wird in einem neuen Fenster geöffnet. target=_blank entspricht nicht den Standards_Experience-Austausch

WBOY
WBOYOriginal
2016-05-16 12:05:502191Durchsuche

„Es gibt kein Attributziel für dieses Element (in dieser HTML-Version)“

Ursprünglich unter HTML4.01/XHTML1.0/XHTML1.1 strenger DOCTYPE, target="_blank", target="_self" Die Syntax ist ungültig und wir können sie nur über JavaScript implementieren.

Ein Freund fragte, warum target="_blank" nicht verwendet werden darf? Dieses Attribut ist sehr praktisch. Haha, ich weiß nicht, was die W3C-Experten denken. Soweit ich weiß, geht es hauptsächlich um „Benutzerfreundlichkeit und Freundlichkeit“, weil Ausländer es für unhöflich halten, ein neues Fenster ohne Zustimmung des Benutzers oder klare Aufforderungen zu öffnen. von. Unabhängig davon, ob diese Stornierung sinnvoll ist oder nicht, schauen wir uns die Lösung an.

rel-Attribut
HTML4.0 fügt ein neues Attribut hinzu: rel. Dieses Attribut wird verwendet, um die Beziehung zwischen dem Link und der Seite, die den Link enthält, sowie das Ziel der Linköffnung zu beschreiben. rel hat viele Attributwerte, wie z. B. „nächster“, „vorheriger“, „Kapitel“, „Abschnitt“ usw. Was wir verwenden möchten, ist das Attribut rel="external". Der Code, der ursprünglich so geschrieben wurde:


Neues Fenster öffnen


Jetzt sollte er so geschrieben sein: Neues Fenster öffnen

Dies ist eine strenge Standardmethode. Natürlich muss es mit einem Javascript kombiniert werden, um effektiv zu sein.

Javascript
Der vollständige Code JS lautet wie folgt:

function externallinks() {
if (!document.getElementsByTagName) return; (" a");
for (var i=0; i var Anchor = Anchors[i]; Anchor.getAttribute("rel") == "external")
Anchor.target = "_blank"; }
}
window.onload = externallinks

Sie können es als .js-Datei speichern (z. B. external.js) und es dann über die externe Verbindungsmethode aufrufen:


Das ist alles.

Schließlich ist das von meiner Website verwendete target="new" unter dem Übergangs-DOCTYPE zulässig, erfüllt jedoch nicht den strengen Standard. Ich werde in der nächsten Überarbeitung den strikten Modus verwenden und alle target="new" in rel="external" ändern.

Dieser Artikel bezieht sich auf die folgenden Artikel:

"New-Window links in a Standards-Compliant World" von Kevin Yank
"Standards-based Replacement for target="_blank" in Externe Links 》
Aktualisiert am 13.07.2006
Die Homepages vieler Portal-Websites sind meiner Meinung nach vorerst nicht zu ändern, zumindest in China Um rel unter jedem Link hinzuzufügen, lautet der vollständige Code wie folgt:



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn