我有以下代码可检测使用了哪个搜索引擎和哪个搜索词:

if (document.referrer.search(/google\.*/i) != -1) {
    var start = document.referrer.search(/q=/);
    var searchTerms = document.referrer.substring(start + 2);
    var end = searchTerms.search(/&/);
    end = (end == -1) ? searchTerms.length : end;
    searchTerms = searchTerms.substring(0, end);
    if (searchTerms.length != 0) {
        searchTerms = searchTerms.replace(/\+/g, " ");
        searchTerms = unescape(searchTerms);
        alert('You have searched: '+searchTerms+' on google');
    }
}


这确实有效,但不幸的是,有时它无法按预期工作。

有时,如果推荐人甚至不是Google,我也会收到搜索字词为ttp://www.domain.com的警报(开始时不带H),我认为这可能会导致该错误。

感谢任何帮助!

最佳答案

您是否尝试过利用现有的JS URL解析方案?这样可以节省您很多时间。例如:

http://blog.stevenlevithan.com/archives/parseuri

关于javascript - 使用javascript改进此搜索引擎检测器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4808875/

10-09 17:34