さすがに常時表示はうざいので、「このブログを検索」に
デフォルトでセットしてあげるくらいにしとく。
bloggerでlivedoorブログに行くと右上あたりに表示されるアレを作る
。いつものようにjQueryを使ってるので、bloggerでjQueryを使えるようにする
を参考に、インクルードしとく。
下のコードよりも先に読み込まれるように差し込むこと。
Bloggerのカスタマイズ→ガジェットの追加→HTML/Javascript
に↓のコードを貼り付ける。
<script type="text/javascript"><!-- jQuery(function($){ if ($("#CustomSearch1_form").length == 0) return false; var ref = document.referrer; if (ref == "") return false; var ref1 = ref.split("?"); if (ref.length < 2 ) return false; var targetparam = ""; var tmp = ref1[0].match(/http:\/\/.[^\.]*\.([^\.]*).*/); if (!tmp[1]) return false; switch (tmp[1]){ case "google": targetname = "q"; break; case "yahoo": targetname = "p"; break; case "bing": targetname = "q"; break; //他の検索エンジンの検索文字列を取得したい場合はここに追加 default: return false; } var params = ref1[1].split("&"); var re = new RegExp("^" + targetname + "="); for (var i=0;i<params.length;i++){ if (params[i].match(re)){ var q = params[i].split("=")[1]; q = q.replace(/\+/g," "); q = unescape(q); var interval =setInterval(function(){ if ($(":text.gsc-input").length > 0 ){ $(":text.gsc-input").val(q); clearInterval(interval); } },200) return false; } } }) --></script>
googleとyahooとbingだけで十分だと思う。
他の検索サイトかポータルから来た場合も表示させたい場合は、
上のコードの
//他の検索エンジンの検索文字列を取得したい場合はここに追加
の下に、キーワードがセットされるパラメータ名を入れれば
なんとかなるでしょう。
何か問題があれば、下のコメントまで。
0 件のコメント:
コメントを投稿