2008-01-04
■[Opera][UserJS]Opera で Google Web History を使えるようにする UserJS
新年一発目のエントリ。あけましておめでとうございます。
Google Web HistoryをOperaで使うにはどうすればいいのか。 - あまたの何かしら。in はてな が
面白すぎたのでアイディアを丸ごともらってスクリプトを書いてみた。
enablegooglewebhistory.user.js
// ==UserScript== // @name EnableGoogleWebHistory // @author mallowlabs // @namespace http://mallowlabs.s206.xrea.com/ // @version 0.0.2 // @license public domain // @description : Enable Google Web History // @published 2007-01-05 // @modified 2006-01-05 // @include * // ==/UserScript== // see also // http://www.scss.com.au/family/andrew/opera/panels/pagerank/ // http://d.hatena.ne.jp/amatanoyo/20080104/1199450996 // ========================================= (function(){ // avoid frame if (window.self != window.parent) return; var r=function(x,y){ return Math.floor((x/y-Math.floor(x/y))*y+.1); }, ch=function(url){ url='info:'+url; var c=[0x9E3779B9,0x9E3779B9,0xE6359A60],i,j,k=0,l,f=Math.floor, m=function(c){ var i,j,s=[13,8,13,12,16,5,3,10,15]; for(i=0;i<9;i+=1){ j=c[r(i+2,3)]; c[r(i,3)]=(c[r(i,3)]-c[r(i+1,3)]-j)^(r(i,3)==1?j<<s[i]:j>>>s[i]); } }; for(l=url.length;l>=12;l-=12){ for(i=0;i<16;i+=1){ j=k+i;c[f(i/4)]+=url.charCodeAt(j)<<(r(j,4)*8); } m(c); k+=12; } c[2]+=url.length; for(i=l;i>0;i--) c[f((i-1)/4)]+=url.charCodeAt(k+i-1)<<(r(i-1,4)+(i>8?1:0))*8; m(c); return'6'+c[2]; }; var url=document.location; /* create image element */ new Image().src = 'http://www.google.com/search?client=navclient-auto&ch='+ch(url)+'&features=Rank&q=info:'+escape(url); })();
仕組み
クロスドメイン制約がとにかく面倒なので
表示されない img タグ Image の src 属性に指定して
PageRankを叩けばいいっていうことは、ブラウザ上に表示させなくてもいいよなぁと思ったり。
http://d.hatena.ne.jp/amatanoyo/20080104/1199450996
というアイディアの丸パクリ。
Google PageRank Button - Panels - Opera - Andrew Gregory’s Web Pages
をそのまま利用した。
お試しあれ。
2008/01/05 追記
2点つっこませてください。
まず、img要素を追加しなくてもnew Image().src="〜"で行けるはず。
http://del.icio.us/BNJ
有益なアドバイスありがとうございます。
ご指摘いただいた点をスクリプトに反映しました。
2008/01/11 追記
id:edvakf のおかげで海外のサイトでも取り上げられているみたいなので
Userscript.org にアップロードしてみました。
どうやら Opera だけじゃなくて IE / Firefox / Safari / Konqueror でも動くみたいです。
Google Toolbar 無しで Google Web History を使いたい人は使ってやってください。
トラックバック - http://d.hatena.ne.jp/mallowlabs/20080104/1199461216
- あまたの何かしら。in はてな - Google Web HistoryがOperaでも使え...
- by edvakf in hatena - Google Web Historyは本当にOperaでは使えな...
- by edvakf in hatena - OperaでもGoogle Web Historyは使える!!!
- あまたの何かしら。in はてな - ex:Google Web History in Opera
- http://17.houjin2.com/5220616E642043/
- applesy16g - Safari でも Google Web History を使えるようにする
- [Greasemonkey]enablegooglewebhistory.user.jsをAutoPagerize対応に
リンク元
- 35 http://reader.livedoor.com/reader/
- 21 http://d.hatena.ne.jp/
- 19 http://d.hatena.ne.jp/amatanoyo/
- 19 http://lowreal.net/blog/2006/12/03/1
- 17 http://b.hatena.ne.jp/entrylist?sort=hot
- 15 http://b.hatena.ne.jp/
- 13 http://d.hatena.ne.jp/amatanoyo/20080105/1199462304
- 12 http://mytexpert.sourceforge.jp/index.php?Listings
- 9 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4DAJP_jaJP245JP245&q=C言語ソース+latex
- 8 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&hs=qhP&q=gsview+msmincho&btnG=検索&lr=lang_ja