이 글은 다음 글을 참조합니다.
새 창에서 링크를 여는 일반적인 방법은 링크 뒤에 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 전문가들은 어떻게 생각하는지 모르겠습니다. 제가 아는 한 주로 "사용 편의성과 친근함"에 관한 것입니다. 외국인들은 사용자의 동의나 명확한 안내 없이 새 창을 여는 것이 무례하다고 생각하기 때문입니다. 의. 이번 취소가 합리적인지 여부를 떠나 해결책을 살펴보겠습니다.
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"로 변경하겠습니다.