2010-02-10 3 views
10

사이트에서 이상한 점이 있습니다. href="#anything" 링크 태그는 사용자를 페이지 상단이나 지정된 앵커로 이동시키지 않으며 홈 페이지로 이동합니다. 그게 전부입니다. 링크 위로 마우스를 가져 가면 example.com/testpage.php# 대신 FF의 상태 표시 줄 example.com/#에 표시됩니다.href = "#"은 색인 페이지로 리디렉션되지만 현재 페이지 상단에는 리디렉션되지 않습니다.

사이트는 쓰레기 코드의 전체이며 모든 설정이 특히 헤더 구성 또는를 확인하는 것은 불가능 등

이있을 경우에 어떤 힌트?

P. 링크의 href은 JS로 변경되지 않으므로 Firebug는 클릭 할 때 href="#"이라고 주장합니다.

+0

이 발생하는 경우에 어떤 페이지입니까? –

+1

대상 속성이 정의 되었습니까? –

+0

목표 "# anythingthing"이 정의 된 코드를 보여주십시오. 타겟 이름/ID에서'#'을 반복하지 마십시오. 단지'무엇이든 '입니다. – philfreo

답변

16

내 초기 생각은 어딘가에서 base tag을 사용할 수 있다는 것입니다. 다음과 같은 뭔가 코드를 확인하고 필요한 경우이를 제거 : 어떤 기존의 기본 태그에 의존하는 일부 마크 업이있을 수 있으므로

<base href="http://www.mydomain.com/testpage.php" /> 

물론,주의가 필요합니다. 또한 당신의 HREF 값이이 같은 앞을 향해 열린 길을 건너 슬래시 앞에되지 않았는지 확인이로

<a href="/#anything">Click Me</a> 

루트 디렉토리의 기본 시작 페이지에 #anything로 이동합니다.

+1

옙 기본 태그를 발견하고 악의 근원임을 확인했습니다. 감사! – Brock

+1

@Brock 말장난이 의도 된가요? :) Hehe. – Sampson

3

코드의 <head> 섹션에 <base> 태그가 있습니까?

이렇게하면 모든 상대 URL 요청이 기본 태그의 지정된 href로 시작됩니다. 페이지가 존재 여부에 의존한다면, 나는 그것을 제거하지 못하도록 강력히 반대하거나 많은 업데이트가 필요할 수 있습니다.

상세 정보 :

+0

감사합니다. 기본 태그입니다. – Brock

관련 문제