0

我正在使用标准的自定义搜索安装。我的帐户设置了促销活动。

我有以下内容:

    google.load('search', '1', { language: 'en', style: google.loader.themes.MINIMALIST });
    google.setOnLoadCallback(function () {
        var customSearchOptions = {};
        customSearchOptions[google.search.Search.RESTRICT_EXTENDED_ARGS] = { 'as_sitesearch': '' };
        var customSearchControl = new google.search.CustomSearchControl('CSE-UNIQUE-ID', customSearchOptions);
        customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
        var options = new google.search.DrawOptions();
        options.setAutoComplete(true);
        customSearchControl.setLinkTarget(google.search.Search.LINK_TARGET_SELF);
        customSearchControl.draw('cse', options);
        customSearchControl.execute(getParameterByName("q"));
    }, true);


    function getParameterByName(name) {
        name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
        var regexS = "[\\?&]" + name + "=([^&#]*)";
        var regex = new RegExp(regexS);
        var results = regex.exec(window.location.search);

        if (results == null) {
            return "";
        }

        else {
            return decodeURIComponent(results[1].replace(/\+/g, " "));
        }
    }

我正在通过 CMS 设置 javascript 对象字段:as_sitesearch,因此代码可以跨站点使用。当该字段填充有即“.example.com”时,促销不会显示在搜索结果中。另一方面,它们会显示在自动完成中。

当 as_sitesearch 字段为空时,促销显示?为什么是这样?

谢谢

4

1 回答 1

0

看来,当促销链接完全链接到子域或另一个域时,搜索过滤器会从结果中删除促销,因为它不在 as_sitesearch 字段中的给定域内。

尽管看起来自动完成搜索不使用给定的过滤器,因此会显示促销信息。

于 2013-05-29T16:01:39.863 回答