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