2

カスタム Google 検索に問題があります。カスタム Google 検索エンジンからコードをコピーして、プロジェクトに貼り付けます。あるドメインでは機能して結果を返しますが、別のサブドメインでは機能せず、結果を返しませんでした

誰かが理由を知っていますか?

1 つのページには、コードのみの検索ボックスがあります。

<div  id="cse-search-form"  dir="<%= MyBase.UserPreferences.DisplayDir%>" style="width:500px;"></div>
                           <script>
                               (function () {
                                   var cx = '017015442779235202717:g8u07nzbkmi';
                                   var gcse = document.createElement('script');
                                   gcse.type = 'text/javascript';
                                   gcse.async = true;
                                   gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//www.google.com/cse/cse.js?cx=' + cx;
                                   var s = document.getElementsByTagName('script')[0];
                                   s.parentNode.insertBefore(gcse, s);
                               })();
                        </script>
                        <gcse:searchbox-only resultsUrl="SearchResults.aspx"></gcse:searchbox-only>

結果は別のページにコードとともに表示されます。

<div>
    <script>
        (function () {
            var cx = '017015442779235202717:g8u07nzbkmi';
            var gcse = document.createElement('script');
            gcse.type = 'text/javascript';
            gcse.async = true;
            gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//www.google.com/cse/cse.js?cx=' + cx;
            var s = document.getElementsByTagName('script')[0];
            s.parentNode.insertBefore(gcse, s);
        })();
    </script>
    <gcse:searchresults-only></gcse:searchresults-only>

さらに、次のコードを使用して、検索ボックスと結果を同じページに配置しようとしました。

 <div>Compact Layout Demo</div>
 <div id="cse-search-form" style="width: 500px;">Loading</div>

<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
   google.load('search', '1', { language: 'en' });
   google.setOnLoadCallback(function () {
   var customSearchControl = new google.search.CustomSearchControl   ('017015442779235202717:g8u07nzbkmi');
    customSearchControl.setResultSetSize(google.search.Search.SMALL_CSE_RESULTSET);
    customSearchControl.draw('cse-search-form');

    // var options = new google.search.DrawOptions();
    // options.enableSearchboxOnly("http://www.tiemponeto.com/All/searchresults3.asp");
    // customSearchControl.draw('cse-search-form', options)
}, true);

検索がまだ機能せず、結果が表示されない

誰が私を助けてくれますか?

4

2 に答える 2

0

検索エンジンの公開 URL は、たとえば「オフィス」というクエリの結果をもたらします: https://www.google.com/cse/publicurl?cx=017015442779235202717:g8u07nzbkmi

これは、エンジンが一般的に機能していることを意味します。

まず、CSE コントロール パネルの [ルック アンド フィール] タブを確認します。検索ボックスと検索結果を別々に表示しようとしているため、「2 ページ」オプション (検索ボックスのあるページと結果のあるページ) を選択し、新しい構成を保存する必要があります。

次に、SearchResults.aspx スクリプトで、ユーザーを結果ページにリダイレクトするときに「q=」パラメーターを追加するようにします (例: ?q=office)。そのページの要素は、URL からこのパラメーターを読み取り、含まれているクエリ ("office") の結果を表示します。

于 2013-09-11T12:36:12.853 に答える
0

検索するドメインの名前は、カスタム検索エンジン オプションで設定されます。2 番目のカスタム検索エンジンを作成し、セットアップに移動して、[検索するサイト]見出しの下でドメイン名を設定する必要があります。次に、サブドメインの 2 番目の検索エンジンをコードに使用します。

2 番目の検索エンジンのコードはわずかに異なります。この行には異なる検索エンジン ID があります。

var cx = '017015442779235202717:g8u07nzbkmi';

officeは結果を返しますが、 chairなどの他の用語は返さないため、最初の検索エンジンが制限されており、インターネット全体を検索していないことがわかります。

于 2015-08-01T17:55:14.157 に答える