>  기사  >  웹 프론트엔드  >  영어: 링크 태그는 ie에서 href_HTML/Xhtml_webpage 제작을 자동으로 완료합니다.

영어: 링크 태그는 ie에서 href_HTML/Xhtml_webpage 제작을 자동으로 완료합니다.

WBOY
WBOY원래의
2016-05-16 16:43:401436검색

영어:A链接标记ie下会自动补全href.
Ajax Link Tracker 및 MapSurface 작업을 하는 동안 DOM 스크립팅을 사용하여 href 속성을 검색하는 방식에 불일치가 있음을 발견했습니다.
href 속성은 값 집합이 페이지 URL의 컨텍스트를 기준으로 할 수 있다는 점에서 다른 요소 속성과 다릅니다. 상대 href 속성으로 링크를 설정하는 경우
테스트 페이지
브라우저는 페이지의 현재 URL을 확인하고 링크의 절대 URL을 파생합니다.
http://www.glenn.jones.net/development/test1.html
이것이 문제의 근본입니다. 일부 브라우저는 속성의 텍스트를 반환하고 다른 브라우저는 파생된 절대 URL을 반환합니다. 결과는 href 속성을 검색하는 데 사용하는 방법에 따라 다릅니다. 속성에 액세스하는 세 가지 일반적인 방법이 있습니다.
linkobj.href; linkobj['href']; linkobj.getAttribute('href');
속성에 액세스하는 linkobj.hreflinkobj[‘href’]; 메서드는 파생된 절대 URL을 일관되게 반환합니다.
Microsoft는 문제 getAttribute 메소드에 두 번째 매개변수를 추가하여 이 문제를 해결하려고 했습니다. 두 번째 매개변수는 0,1 또는 2로 설정할 수 있습니다. 매개변수가 2로 설정된 경우 메소드는 속성 텍스트를 반환합니다. 다른 모든 설정은 파생된 절대 URL을 반환합니다.
linkobj.getAttribute('href'); linkobj.getAttribute('href',2); 파생된
절대 URL 속성 텍스트 즉 linkobj.href; 엑스 즉 linkobj.getAttribute('href'); 엑스 즉 linkobj.getAttribute('href',2); 엑스 도마뱀붙이 linkobj.href; 엑스 도마뱀붙이 linkobj.getAttribute('href'); 엑스 도마뱀붙이 linkobj.getAttribute('href',2); 엑스 오페라 linkobj.href; 엑스 오페라 linkobj.getAttribute('href'); 엑스 오페라 linkobj.getAttribute('href',2); 엑스 속성 테스트 페이지 가져오기 IE6, Firefox 1.5 및 Opera 8.51에서 테스트하세요.
그렇다면 getAttribute 메소드는 무엇을 반환해야 할까요? getAttribute 메소드의 구조를 설명하는 W3C DOM 레벨 2 핵심 사양에서는 이 문제를 다루지 않습니다. 어느 접근 방식이 틀리거나 옳다는 것은 아닙니다. 이 점에서 사양은 해석의 여지가 있습니다.
코더로서 저는 두 가지 가치에 모두 접근할 수 있기를 바랍니다. 문제를 해결하려면 DOM Core 사양을 업데이트해야 합니다.
아래 댓글에서 Jim과 정말 좋은 대화를 나눈 후 정정되었습니다. 사양에는 getAttribute가 절대 URL이 아닌 속성 값을 반환해야 한다고 명시되어 있습니다. Microsoft의 접근 방식이 잘못되었습니다.
당분간은 파생된 절대 URL을 반환하기 위해 기존의 객체 속성 메서드linkobj.href를 사용하고 있습니다. 모든 브라우저에서 가장 일관된 결과를 제공합니다. 관심 있는 URL
getAttribute에 대한 W3C REC DOM 레벨 2 핵심 사양
getAttribute에 대한 Gecko 문서
getAttribute에 대한 Microsoft 문서
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.