2016-12-17 1 views
0

사용자가 외부 링크에서 페이지를 입력하면 모달을 시작하는 스크립트를 작성하려고합니다. 나는 document.referrer가 그것을 수행하는 방법이라고 가정하고 있지만 "if"조건으로 JS를 구현하는 방법에 대해서는 JS에 익숙하지 않다. 모든 제안을 부탁드립니다.사용자가 다른 사이트에서 페이지를 입력했는지 확인하는 JS/Jquery 방법

나는 이렇게 생겼을 것이라고 가정하고 있습니까?

if (document.referrer !== window.location.hostname) { 
    // do something 
} 

답변

0

당신은 사용자가 외부 링크에서 페이지를 입력 한 경우 확인하려는 경우, 당신은 단지 호스트 이름을 얻기 위해 document.referrer을 분석하고, 그 window.location.hostname와 비교할 수 있습니다

var parser = document.createElement('a'); 
parser.href = document.referrer; 
var isExternallyReferred = document.referrer.length > 0 && parser.hostname !== window.location.hostname; 

if (isExternallyReferred) { 
    // launch modal 
} 
+0

곳 것이 오류가 있습니까? 잡히지 않은 SyntaxError : "예기치 않은 토큰 =" –

+0

오자! '! =='조건부 – hackerrdave

+0

에서 여분의'= '를 제거하기위한 답을 편집 했으므로 다음과 같이 경고를 추가했습니다 : https://jsfiddle.net/fg83Lx4p/ 그러나 페이지를 새로 고침 할 때 올바른 경고를받습니다. 그러나 바이올린에서 링크를 클릭하면 경고 메시지가 표시되지 않습니다 ... 어쩌면이 잘못된 접근 방식을 취하고 있습니까? –

관련 문제