다양한 페이지 점프 방법에서 추천자가 손실되는 경우를 정리했습니다. 즉, location.href = "a.html"과 같은 메소드를 사용하여 페이지가 리디렉션되면 Target 페이지의 volog.referrer가 비어있는 것으로 언급되어 있습니다. 이것은 IE의 버그 여야합니다.
대부분의 경우,이 문제는 우리에게 문제를 일으키지 않지만 때로는 JavaScript를 사용하여 점프해야하며 동시에 다음 페이지에서 문서를 수집해야하므로 다른 방법을 생각해야합니다.
양식 GET 메소드
가장 먼저 떠오르는 것은 양식 양식을 사용하여 JS를 사용하여 GET 요청을 시작하는 것입니다. 코드는 다음과 같습니다.
코드 사본은 다음과 같습니다.
기능 gotopage (url) {
if (isie) {
// 즉, 브라우저
var frm = document.createElement ( "form");
frm.action = url;
frm.method = "get";
Document.body.appendChild (FRM);
frm.submit ();
} 또 다른 {
// 비이
location.href = url;
}
}
이 메소드는 예상대로 작동 할 수 있고 Document.Referrer 대상 페이지의 Referrer는 이전 페이지를 정상적으로 가리킬 수 있습니다.
A- 요소 시뮬레이션 방법을 클릭하십시오
온라인을 검색 한 후 Situ Zhengmei의 블로그 가이 문제를 다루는 또 다른 방법을 녹화 한 것을 발견했습니다.
코드 사본은 다음과 같습니다.
// 모든 브라우저에 대해 정의합니다
함수 goto (url) {
location.href = url;
}
// IE를 다시 정의하십시오
if (isie) {
함수 goto (url) {
var referlink = document.createElement ( 'a');
referlink.href = url;
document.body.appendChild (참조 링크);
참조 link.click ();
}
}
원칙은 매우 간단합니다. 먼저 A 요소를 작성하고 HREF 속성을 대상 링크로 지정 한 다음 JS를 사용하여 클릭 이벤트를 트리거하십시오. 테스트 후 Document.referrer는 대상 페이지에서 정상적으로 검색 할 수도 있습니다.
이 방법의 코드는 더 짧으며 양식을 사용하여 위의 솔루션보다 우수해야합니다.