ここに私が現在取り組んでいるサイトがあります: http://www.nbtc.org/nv/index.php
SO コミュニティからの以前の支援のおかげで、ボタンはメインの「コンテンツ」div を、ボタンが指しているリンクに動的に変更します。右上の「検索」ボタンを除いて、それらはすべてうまく機能します。
私たちは Google CSE を使用しており、これが彼らから提供されたコードです。
<div id="cse" style="width: 100%;">Loading</div>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
google.load('search', '1', {language : 'en', style : google.loader.themes.V2_DEFAULT});
google.setOnLoadCallback(function() {
var customSearchOptions = {}; var customSearchControl = new google.search.CustomSearchControl(
'005348393200361091503:k_xdk0rs2og', customSearchOptions);
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
customSearchControl.draw('cse');
}, true);
</script>
テスト サイトでわかるように、ボタンをクリックすると、テキストが div に読み込まれますが、何も起こらず、「読み込み中」とだけ表示されます。ボタンをもう一度押すと、ウェブサイト全体が空白になります。
リンクを右クリックして新しいタブで開くと、問題なく動作します。
簡単な解決策があるはずだと思います。周りを見回しましたが、この状況に対する答えは見つかりませんでした。私はすでにjqueryを使用して他の機能を実行しており、@ nicodemus13は、この質問に対する答えとしてjqueryでGoogleコードを書き直す方法を提案しました:
ページの読み込み後に Google のカスタム検索エンジン (CSE) JS API を読み込む方法は?
しかし、Google から提供されたコードの詳細は異なり、それを適応させる方法がわかりません。
ありがとう!ブレンデン