2024
11
23
2012
10
11
iPhone/iPod Toutch用ブックマークレット
前回の記事「ピンイン表示ブックマークレット」でブックマークレットを紹介しました。しかし、これはiPhone/iPod ToutchのSafari(モバイルサファリ)では使えません。
なぜなら、モバイルサファリでは、テキストを選択状態にしても、ブックマーク操作を行った瞬間に選択が解除されてしまうからです。
モバイルサファリで選択したテキストを利用する場合には、最初にブックマークレットを起動しておき、その上でテキストを選択し、ジェスチャー操作を行うことによって、スクリプトを動作させるという方法がよいでしょう。
Hello! ブックマークレット
まず、簡単なサンプルを紹介します。
モバイルサファリでブックマークレットを登録するには、適当なページをブックマークしておき、それを編集でURLを書き換えます。
上記のスクリプトをコピペして、ブックマークレットを登録してみて下さい。登録後、適当なページでそのブックマークを選択し、戻ったページでジェスチャー操作をすると「Hello!」とアラートされます。なお、ジェスチャー操作とは、画面の上で親指と人差し指をこするような指の動きを言います。
テキスト選択 ブックマークレット
次に一段階前に進みます。ブックマークレットを起動後、テキストを選択し、ジェスチャー操作をすると、その選択したテキストがアラート表示されます。
encodeURIComponent ブックマークレット
もう一段階前に進みます。ブックマークレットを起動後、テキストを選択し、ジェスチャー操作をすると、その選択したテキストをURIエンコードした文字列がアラート表示されます。
ピンイン変換 ブックマークレット
さらに前に進みます。ブックマークレットを起動後、テキストを選択し、ジェスチャー操作をすると、その選択したテキストを簡体字とピンイン(pinyin)に変換したものをアラート表示します。
インターネットに接続していないと、APIを使用できません。
スクリプトの簡単な説明
簡体字とピンインの取得は、一橋大学附属図書館・情報検索サポート・漢字ピンインハングル読み変換APIを使用しています。"http://www.lib.hit-u.ac.jp/cgi-bin/pinyin/pinyin_json.cgi?MESG="に変換すべき文字をエンコードしたものを添えて投げると、callbackを関数名とするJSONP形式のデータが返ってきます。
返ってきたデータの処理方法をcallbackで定義します。上記では、簡体字とピンインをアラート表示させています。
Script要素を追加することによって、上記のAPIにリクエストを送ります。
p=d.createElement('script'); p.src='http://www.lib.hit-u.ac.jp/cgi-bin/pinyin/pinyin_json.cgi?MESG='+encodeURIComponent(s); d.body.appendChild(p);
2012/10/11 (Thu.) Comment(0) Bookmarklet
Comments