Я написал скрипт, который обнаруживает URL-адрес, на который ссылаются несколько поисковых систем, а затем передает это значение (не переменную mc_u20
) на сервер, который где-то будет использоваться. Сценарий работает как удовольствие, за исключением одной большой проблемы, он просто не будет отслеживать результаты поиска Google. Поэтому любой результат, который приходит от Google, просто не регистрируется. Вот скрипт:
var mc_searchProviders = {"search_google":"google.co","search_bing":"bing.com","search_msn":"search.msn","search_yahoo":"search.yahoo","search_mywebsearch":"mywebsearch.com","search_aol":"search.aol.co", "search_baidu":"baidu.co","search_yandex":"yandex.com"};
var mc_socialNetworks = {"social_facebook":"facebook.co","social_twitter":"twitter.co","social_google":"plus.google."};
var mc_pageURL = window.location +'';
var mc_refURL = document.referrer +'';
function mc_excludeList() {
if (mc_refURL.search('some URL') != -1) {
return false; //exclude some URL
}
if (mc_refURL.search('mail.google.') != -1) {
return false; //exclude Gmail
}
if (mc_refURL.search(mc_paidSearch) != -1) {
return false; //exclude paidsearch
}
else {
mc_checkURL();
}
}
mc_excludeList();
function mc_checkURL() {
var mc_urlLists = [mc_searchProviders, mc_socialNetworks],
i,mc_u20;
for (i = 0; i < mc_urlLists.length; i++) {
for (mc_u20 in mc_urlLists[i]) {
if(!mc_urlLists[i].hasOwnProperty(mc_u20))
continue;
if (mc_refURL.search(mc_urlLists[i][mc_u20]) != -1) {
mc_trackerReport(mc_u20);
return false;
}
else if ((mc_refURL == '') && (mc_directTracking === true)){
mc_u20 = "direct_traffic";
mc_trackerReport(mc_u20);
return false;
}
}
}
}
Самое неприятное, что я проверил это на своем локальном компьютере (заполнив mc_refURL
фактическим URL-адресом поиска в Google, и он работает как чудо. Я также подумал, что, возможно, при поиске в первом mc_searchProviders
объект как-то пропускает первый экземпляр, поэтому я добавил пустой. Но все же это не работает. Что еще более раздражает, так это то, что для любой другой поисковой системы переменная mc_u20
, кажется, заполняется тем, что мне нужно .
Это сводит меня с ума. Кто-нибудь может увидеть, что здесь не так? Я мог бы также упомянуть, что я вошел в Google, но я не понимаю, как это повлияет на сценарий, так как их пост в блоге (в ноябре) сказал, что они фильтруют ключевые слова, не препятствуя передаче ссылающегося URL.