2010-01-19 5 views
1

브라우저 확장 (BHO) 내에서 사용자를 현재 페이지로 유도 한 URL을 알고 싶습니다. 난 그냥 document.referrer 얻을 수있을 줄 알았는데, 링크가 새 창에서 열리는 경우 그 빈 발견. 이것은 그냥 힘든 bikkies인가 아니면 어떤 경우에는 opener.location.href를 사용할 수 있습니까?IE에서 페이지의 리퍼러를 얻는 가장 확실한 방법은 무엇입니까?

후속 작업으로, 현재 페이지가로드되었을 때 DocumentComplete에서 가져 왔지만 BeforeNavigate2에서 가져 오는 것이 좋습니다. BeforeNavigate2에서 리퍼러로 현재 위치를 사용하는 것을 제외하고는 어떤 일도하지 않습니다. 그러나 사용자가 주소 표시 줄에 새 URL을 입력하면 리퍼러로 현재 페이지가 표시됩니다. 즉 사이트 A의 링크에서 실제로 사이트 A에 가서 사이트 B의 URL을 입력 한 사이트 B로 이동 한 것처럼 보입니다.

업데이트 : 가끔은 '오프너 '속성이 설정됩니다 (창문이 자바 스크립트에서 열리는 경우?) 따라서 우리는 효과적인 리퍼러 페이지를 얻을 수 있습니다. 누구나 상황을 정확히 알 수 있습니까?

답변

0

이 정보를 얻는 유일한 방법은 HTTP referrer입니다. 유감스럽게도 헤더 값이 비어있는 상황에서는 운이 좋지 않을 수 있습니다.

+0

새 탭/창에서 열린 페이지의 경우 항상 비어 있습니까? – Rory

0

새 창에 대한 링크가있는 페이지를 소유하고 세션이나 링크에 식별 할 수있는 해시 또는 ID를 추가하지 않는 한 리퍼러를 캡처 할 수 없습니다.

+0

링크가 새 창/탭에서 연 링크가 빈 참조자를 얻는 것이 정상입니까? – Rory

+1

빈 리퍼러를 얻는 한 가지 방법이지만 유일한 방법은 아닙니다. – Joe

관련 문제