2013-10-20 1 views
0

다음 코드를 사용하면 동일한 도메인의 하위 도메인을 포착한다는 점을 제외하면 매우 효과적입니다. 예를 들어 example.ca에 있고 sub.example.ca에 가고 싶다면 그렇게하지 않을 것입니다. 이 사이트는 기술적으로 다르지만 이러한 페이지에 대한 경고는 필요하지 않음을 알고 있습니다.웹 사이트를 떠날 때 jQuery 경고

또한 내부 링크가 이제는 귀찮은 sub.example.ca이므로 모든 내부 링크에 대해 (대부분 동일한 파일을 사용하므로) sub.example.ca 사이트에서도 트리거됩니다.

바이 패스 변수를 사용할 수는 있지만 생성 한 모든 메뉴 및 페이지에 추가하지 않으려합니다. 그것의 게으름은 최고입니다. 하하.

$(document).ready(function() { 
    $("a").click(function() { 
    var href = this.href; 
    var ourDomainRegex = /^https?:\/\/(www[.])?example[.]ca/; 
    // those seeking flexibility, consider this: 
    // new RegExp('^https?:\\/\\/(www[.])?' + ourDomain) 
    if (href.indexOf("http") === 0 && ! ourDomainRegex.test(href)) 
    { 
     if($(this).attr('rel')!='pass') { 
      this.href = "/leave.php?p=" + href; 
     } 
    } 
    }); 
}); 

어떻게 하위 도메인에서 작동하도록할까요? 감사!

+0

'$ (창) CSTE 연구진 ("beforeunload", 기능() {반환 "떠나지 말아 기다려!"})'[한계를 읽고 ] (https://developer.mozilla.org/en-US/docs/Web/API/Window.onbeforeunload) – megawac

+0

참조 http://stackoverflow.com/questions/14645011/window-onbeforeunload-and-window-onunload- is-not-working-in-firefox-safari-o – megawac

답변

0

당신은 당신의 정규 표현식 허가 하위 도메인 수 :

/^https?:\/\/([a-z0-9-]+[.])*example[.]ca/ 
+0

이것은 여전히 ​​작동하지 않는 것처럼 보이며 링크가 하위 도메인에 있거나 하위 도메인 사이트의 내부 링크에있는 경우 경고로 리디렉션됩니다. :( –

관련 문제