Heim  >  Artikel  >  Web-Frontend  >  _blank Das Öffnen eines neuen Fensters entspricht nicht den Standards?_CSS/HTML

_blank Das Öffnen eines neuen Fensters entspricht nicht den Standards?_CSS/HTML

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

Dieser Artikel bezieht sich auf die folgenden Artikel:

Der übliche Weg, einen Link in einem neuen Fenster zu öffnen, besteht darin, target="_blank" nach dem Link hinzuzufügen. Es gibt kein Problem, wenn wir den Übergangs-DOCTYPE (xh tml1-transitional. dtd) verwenden, aber wenn wir den verwenden strict DOCTYPE (xhtml1-strict.dtd), diese Methode schlägt bei der W3C-Überprüfung fehl und die folgende Fehlermeldung wird angezeigt:

"Es gibt kein Attribut Ziel für dieses Element (in dieser HTML-Version)"

Es stellt sich heraus, dass unter dem strengen DOCTYPE von HTML4.01/XHTML1.0/XHTML1.1 target="_blank", target="_self" und andere Syntaxen ungültig sind und wir sie nur über JavaScript implementieren können.

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 dem Ziel des Links zu beschreiben. rel hat viele Attributwerte, wie z. B. „nächster“, „vorheriger“, „Kapitel“, „Abschnitt“ usw. Was wir verwenden möchten, ist das Attribut rel="externa l". Der ursprüngliche Code wurde wie folgt geschrieben:

Neues Fenster öffnen

Jetzt schreiben Sie es so:

Neues Fenster öffnen

Dies ist eine Methode, die dem strengen Standard entspricht. Natürlich muss es mit einem Javascript kombiniert werden, um wirksam zu sein.

Javascript

Der vollständige Code JS lautet wie folgt:

function externallinks() { 
 if (!document.getElementsByTagName) return; 
 var anchors = document.getElementsByTagName("a"); 
 for (var i=0; i<anchors.length; i++) { 
  var anchor = anchors[i]; 
  if (anchor.getAttribute("href") && 
    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 es.

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

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