【问题标题】:Cannot read "Google" from object in JavaScript无法从 JavaScript 中的对象读取“Google”
【发布时间】:2012-02-01 10:39:40
【问题描述】:

我编写了一个脚本,它检测来自几个搜索引擎的引用 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;
        }
        }
    }
}

最烦人的是,我已经在我的本地机器上测试了这个(通过使用实际的谷歌搜索 URL 填充 mc_refURL,它就像一个魅力。我还认为也许在搜索第一个 @ 时987654324@ 对象它以某种方式跳过了第一个实例,所以我添加了一个空白。但这仍然不起作用。更烦人的是,对于每个其他搜索引擎,mc_u20 变量似乎填充了我需要的内容.

这让我发疯了。谁能看到这里有什么问题?我可能还会提到我已登录 Google,但我看不出这会如何影响脚本,因为他们的博文(11 月)说他们正在过滤关键字,而不是阻止通过引用 URL。

【问题讨论】:

  • 请注意,您永远不能依赖已设置的引荐来源网址 - 它也可以从标题中主动剥离
  • 是的,我知道这一点,但目前这是我能做的最好的。但是这个脚本在 2 周前还在工作(也适用于谷歌)。它不可能是我放置此脚本的网站,否则它会为所有其他搜索引擎剥离标题,对吗?
  • @mplungjan 我已经在 FF 中尝试过这个(Ctrl+Shift+K),它肯定会传递引用 URL。我正在做的只是搜索google.co,它肯定在里面

标签: javascript url referrer


【解决方案1】:

是的,所以我弄清楚发生了什么。脚本的第一部分不包括您自己的 URL(查看它在哪里显示 'some URL'。假设它设置为 www.example.com。如果我在 Google 中搜索说 example 并且 Google 返回 www.example.com 作为第一个搜索结果,在引用 URL 中,它将包含 www.example.com。因此脚本会中断,也许将来有人会发现这很有用。

【讨论】:

    猜你喜欢
    • 2019-04-01
    • 2021-10-29
    • 1970-01-01
    • 2019-03-10
    • 1970-01-01
    • 2021-01-18
    • 1970-01-01
    • 1970-01-01
    • 2013-02-10
    相关资源
    最近更新 更多