Skip to content

Instantly share code, notes, and snippets.

@yanbe
Created May 8, 2011 12:02
Show Gist options
  • Save yanbe/961328 to your computer and use it in GitHub Desktop.
Save yanbe/961328 to your computer and use it in GitHub Desktop.
iPhoneのSafariのブックマークレットに選択文字列を渡すサンプル(Safariでブラウジング中に大辞林アプリで選択中の単語を調べる)
javascript:document.addEventListener('gesturestart',function()%7Bvar%20w=window.getSelection();if(w!=%22%22)window.location='mkdaijirin://jp.monokakido.DAIJIRIN/search?text='+encodeURIComponent(w)+'&srcname=Safari&src='+encodeURIComponent(location.href)%7D,false);
/*
前準備:
上記をiPhoneのSafariのブックマークとして登録
使い方:
1. Safariでブラウジング中調べたい単語が見つかったら,ブックマークレットを起動する
 (この段階では何も起こらない.実際にはユーザーがタッチパネル上で何らかのジェスチャーを行なったときに
  発動するイベントがページに仕込まれる)
2. 調べたい単語を選択し,コピーを選ぶ
 (コピーを選ぶことで文字列を選択したまま操作が可能になる)
3. 適当なジェスチャーを行う(2本指でのピンチインかピンチアウトがおすすめ)
4. イベントが発動し,大辞林アプリに移動し,選択文字列によって自動的に辞書が引かれる
このgistの生い立ち:
http://d.matu.biz/archives/239 と http://d.matu.biz/archives/279 で紹介されている手法を
組み合わせて実現しました。
現状のiPhoneのSafariでは,文字列を選択した状態でブックマークの画面を開こうとするt,文字列の選択状態が
解除されてしまうため,選択文字列をブックマークレットに渡すのにちょっとした操作が必要ですが,出来ることが
格段に増えるのは事実なので,gesturestartイベントを使ったHackがもっと広まればいいなと思います.
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment