1

コードの大部分を Google ドキュメントからコピーし、ドキュメントを使用してフィルターを設定しました。

  • エラーは発生しません
  • しかし、FILETYPE_PNG が機能していません (the filetype never gets restricted)

https://developers.google.com/custom-search/docs/structured_search#filetypeを使用 しました

コードの何が問題なのか誰か知っていますか?

私も試してみましたsearcher.execute("Kobe Bryant");が、それでもPNGのみに限定されませんでした。

google.load('search', '1', {language: 'en', style: google.loader.themes.MINIMALIST});
google.setOnLoadCallback(function() {
  var customSearchOptions = {};
  var orderByOptions = {};
  orderByOptions['keys'] = [{label: 'Relevance', key: ''} , {label: 'Date', key: 'date'}];
  customSearchOptions['enableOrderBy'] = true;
  customSearchOptions['orderByOptions'] = orderByOptions;
  var imageSearchOptions = {};
  //imageSearchOptions['layout'] = LAYOUT_POPUP;  -- layout popup causing errors for some reason
  customSearchOptions['enableImageSearch'] = true;
  customSearchOptions['disableWebSearch'] = true;
  var customSearchControl =   new google.search.CustomSearchControl('Youaintfindingoutwhatthisis', customSearchOptions);
  customSearchControl.setResultSetSize(google.search.Search.SMALL_RESULTSET);

  var searcher = customSearchControl.getImageSearcher();
  searcher.setRestriction(
    customSearchControl.getImageSearcher.RESTRICT_FILETYPE,
    customSearchControl.getImageSearcher.FILETYPE_PNG
  );

  var options = new google.search.DrawOptions();
  options.setAutoComplete(true);
  customSearchControl.draw('cse', options);
}, true);

アップデート

  • 以下の私の答えを見てください

  • LAYOUT_POPUP で何が起こっているのかまだわかりません - ここで未定義のエラーが発生します

4

1 に答える 1

1

わかりました。

ドキュメントは少し誤解を招くものです。

フィルタリングを機能させるには、次のコードが必要です。

customSearchControl.setSearchStartingCallback(
  this, function(control, searcher, query) {
      searcher.setQueryAddition("filetype:png OR filetype:PNG");
  }
);

これをjsファイルの最後に配置します。これが、ドキュメントに苦労している他の人の助けになることを願っています。

于 2013-03-13T03:32:26.380 に答える