iPadのSafariでWebを見ているとき、ページ内の文字でgoogle検索したくなる時ってありますよね。
JavaScriptなら、その問題、スッキリ解決できます。
パソコンのブラウザなら簡単にできる選択文字の検索ですが、モバイルではコピーしてペーストして…と手間がかかって、とてもメンドクサイのです。
メンドクサイは魔法の言葉。
なんと、ブックマークレットというものを使えば簡単にできるんです!
ブックマークレットってなんぞやっていうと、ブックマークの中身を書き換えたもの。
見た目は普通のブックマークですが、中身はJavaScriptなんです。
というわけで、せっかくJavaScriptを習得したので、ちょっとオリジナルブックマークレットを作ってみました。
こんな感じ。
ブックマークレット用に、かなり文字数に拘ったコーディングをしてみました。(結構楽しいw)
これを実行すると、文字列を選択していた場合は、その文字列でgoogle検索してくれます。
検索結果のために新しいタブは作りません。
この類のブックマークレットって新規にタブを作るものばかりなんですが、私はあまり新規タブ作りたくない派なので、こうしました。
特にモバイルだとメモリが少ないので沢山タブを作っても、あんまり便利じゃないんですよね。
JavaScriptの知識があれば、こうゆう細かいカスタマイズも簡単に出来てしまいます。
ブックマークレットの使い方は簡単。
まず、適当なダミーのブックマークを作ったのちに、編集を選び、ブックマークのURLを
javascript:!function(q){if(q)location.href="http://www.google.com/m?q="+q}(encodeURIComponent(getSelection()))
上記のスクリプトにコピペして置き換えるだけ。
タイトルは適当につけてください(例:選択文字検索とかgoogle searchとか)
ブックマークレットを登録したら、あとは使うだけです。
ページ内の文字で検索したいなと思ったら、文字を選択した後にブックマークをタップすると、google検索の結果を表示してくれます。
ブラウザ上の文字を選択する時は、大きめに拡大してから選択するとやり易くなります。
さらに、このブックマークをSafariのブックマークバーに登録すれば、画面上部のアドレスバーをタップするだけでブックマークが表示されるので、アクセスが簡単になりますよ。
このブックマークレットって、要はJavaScriptによるハックなので、かなりいろんな事ができますね。
DOMでページ全部を書き換えることも可能です。
これ、結構面白いと思うんですが、あまり複雑なブックマークレットは見かけないですね。
文字数制限は外部ファイルで回避できるので、やりたい放題できます。
例えば、amazonの価格推移が見られるkeepaとかブックマークレット作ってくれないかなぁ。
ん?…なんか私にも作れそう…ちょっと頑張ってみるかな。