사용자가 어디에서 왔는지 식별하기 위해 다음과 같은 작은 자바 스크립트 (훌륭한 parseURI 함수 기반)를 작성했습니다. 나는 JavaScript에 익숙하지 않지만 아래 코드가 작동하더라도이 같은 결과를 얻는보다 효율적인 방법이 있는지 궁금해하고있다.도움말 리팩터는 사용자의 리퍼러 소스를 식별하는 작은 자바 스크립트 코드
try {
var path = parseUri(window.location).path;
var host = parseUri(document.referrer).host;
if (host == '') {
alert('no referrer');
}
else if (host.search(/google/) != -1 || host.search(/bing/) != -1 || host.search(/yahoo/) != -1) {
alert('Search Engine');
}
else {
alert('other');
}
}
catch(err) {}
감사합니다! 방금 호스트를 추출하기 전에 문서 리퍼러를 테스트하라는 제안을 테스트했습니다. 다음은 업데이트 된 코드입니다. if (document.referrer) { var host = parseUri (document.referrer) .host; if (host.search (/ google | bing | yahoo /)! = -1) { alert ('검색 엔진'); } else { 알림 ('기타'); } } else { alert ('direct'); } –
주의하십시오. 이것은 또한'mygoogleclone.myevilsite.com'과 일치합니다 –
아주 좋은 지적입니다. google (및 다른 사이트)의 정규식을 "^ www \ .google \. (com | co \ ...) $"와 같이 수정할 수 있습니다. 이것은 위조 된 결과가 나오지 않았는지 확인하기 위해 신중한 테스트가 필요하지만 (다시 테스트 해 보았습니다.) 네가 한 수표가 얼마나 강건한가에 달려 있다고 생각해. –