> 웹 프론트엔드 > CSS 튜토리얼 > _blank 새 창을 여는 것이 표준을 준수하지 않나요?_CSS/HTML

_blank 새 창을 여는 것이 표준을 준수하지 않나요?_CSS/HTML

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-05-16 12:12:20
원래의
1628명이 탐색했습니다.

이 글은 다음 글을 참조합니다.

새 창에서 링크를 여는 일반적인 방법은 링크 뒤에 target="_blank"를 추가하는 것입니다. 전환 DOCTYPE(xh tml1-transitional.dtd)을 사용할 때는 문제가 없지만 엄격한 DOCTYPE(xhtml1-strict.dtd)인 경우 이 방법은 W3C 확인에 실패하며 다음 오류 메시지가 나타납니다.

"(이 HTML 버전에서는) 이 요소에 target 속성이 없습니다."

HTML4.01/XHTML1.0/XHTML1.1의 엄격한 DOCTYPE에서는 target="_blank", target="_self" 및 기타 구문이 유효하지 않으며 JavaScript를 통해서만 구현할 수 있는 것으로 나타났습니다.

친구가 왜 target="_blank"를 사용할 수 없는지 물었습니다. 이 속성은 매우 편리합니다. 하하, W3C 전문가들은 어떻게 생각하는지 모르겠습니다. 제가 아는 한 주로 "사용 편의성과 친근함"에 관한 것입니다. 외국인들은 사용자의 동의나 명확한 안내 없이 새 창을 여는 것이 무례하다고 생각하기 때문입니다. 의. 이번 취소가 합리적인지 여부를 떠나 해결책을 살펴보겠습니다.

rel 속성

HTML4.0에는 rel이라는 새로운 속성이 추가되었습니다. 이 속성은 링크와 링크가 포함된 페이지 간의 관계 및 링크 대상을 설명하는 데 사용됩니다. rel에는 다음, 이전, 장, 섹션 등과 같은 많은 속성 값이 있습니다. 우리가 사용하고 싶은 것은 rel="externa l" 속성입니다. 원래 코드는 다음과 같이 작성되었습니다.

새 창 열기

이제 다음과 같이 작성해 보세요.

새 창 열기

엄격한 기준에 따른 방식입니다. 물론 자바스크립트와 결합해야 효과적이다.

자바스크립트

전체 코드 JS는 다음과 같습니다.

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;
로그인 후 복사

.js 파일(예: external.js)로 저장한 후 외부 연결 방법을 통해 호출할 수 있습니다.

그렇습니다.

마지막으로 내 웹사이트에서 사용하는 target="new"는 과도기적 DOCTYPE에서 허용되지만 엄격한 표준을 충족하지 않습니다. 다음 개정판에서는 엄격 모드를 사용하고 모든 target="new"를 rel="external"로 변경하겠습니다.

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿