可能な限り単純な形式で Google カスタム検索を使用しています。<gcse:search></gcse:search>
生成されたスクリプトとタグをビューに追加しました。すべてが期待どおりに機能しますが、テキストボックスに検索語を自分で設定して送信をトリガーできるようにしたいと考えています。以下のスクリプトがいつ読み込まれるかを判断する方法がわかりません。then()
jQuery関数を使用できるようにスクリプトを変更する方法はありますか?
(function () {
var cx = 'xxxxxxxxxxxxxxxxxx:xxxxxxxx';
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 type="text/javascript" src="https://www.google.se/jsapi"></script>
<script type="text/javascript">
google.load("search", "1", { language: 'sv', style: google.loader.themes.MINIMALIST });
google.setOnLoadCallback(function () {
var ctrl = new google.search.CustomSearchControl('xxxxxxxxxxxxxxxxxx:xxxxxxxx');
ctrl.draw('cse');
// you can do stuff here, like trigger a search as shown below !!
ctrl.execute('<%=Request.QueryString["text"] %>');
}, true);
</script>