さすがに常時表示はうざいので、「このブログを検索」に
デフォルトでセットしてあげるくらいにしとく。
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 件のコメント:
コメントを投稿