Tags : Safari
このTagsの登録数:16件 表示 : 15 - 16 / 16
2006/08/17
Safari でも selectionStart, selectionEnd がサポートされている
P_BLOG でのスマイリーボタンやタグボタンでの挿入位置
事の発端は、P_BLOG でスマイリーボタンやタグボタンを押したときに、Safari ではカーソル位置に挿入されてほしい文字列が入力済みのテキストのいちばん後ろに追加されてしまうことでした。予期せぬ位置にカーソルが移動してしまうので、微妙に不便です。
同じ事を感じている人は少ないないのでしょう、既に改造されている方もいらっしゃいました。
portal shit! : 投稿画面のタグボタンをカスタマイズ
この改造、およびソースコードを眺めていて気が付いたのですが、Firefox では改造しなくてもカーソル位置に文字列が挿入され、選択テキストがある場合は、ちゃんとそれをタグで挟んでくれるように動作しています。Safari でそれが動かなかった原因は、Safari の JavaScript が selectionStart, selectionEnd をサポートしていなかったことにありました。
selectionStart
, selectionEnd
はいつからサポートされたか
Safari での selectionStart
, selectionEnd
を調べてみると、Mac OS 10.4.4 以降ではサポートされていることがわかりました。
Mac OS X 10.4.4に含まれるSafari 2.0.3でFirefoxと同じく、setSelectionRange、selectionStart、selectionEndがサポートされたようです。
早速、P_BLOG のscripts.js を修正してみました。この改造はてっきり Mac OS 10.4.4 以降でしか有効でないのかと思ったら、Mac OS 10.3.9 の Safari でもちゃんと動きます。いつからサポートされていたのでしょうか。
リンク先だけでなく、フォームの送信結果を別ウインドウで開く方法を紹介します。フォームの送信結果とは、例えば検索の結果や、何かの登録フォームでボタンをクリックした結果などです。この技が使えるととても便利なのですが、意外に知られてないのでは?
リンク先を新規ウインドウで開く
Safari や Firefox、Camino などのウェブブラウザで、リンクを新しいウインドウ(タブ)で開く方法を知っている人は少ないないでしょう。Mac OS X の場合、cmdキーを押しながらクリックすることで、リンク先が別ウインドウで開きます。
その方法は知らなくても、ctrl + クリック、もしくは Windows でいうところの右クリック1で、コンテクストメニューを出して、リンクが開けるのは知っている人が多いのではないでしょうか。Safari では以下のようなメニューが出ます。
ボタンをクリックした結果を新規ウインドウで開く
Safari では、リンクだけでなく、実はいろいろなものをcmdキーで、新規ウインドウとして開くことができます。
何かの入力フォームに記入した後、「送信」とか「登録」、「検索」、「書き込み」のようなボタンをクリックするときに、cmdキーを押していると、画面の遷移結果が新しいウインドウで開きます。
これがどういうときに便利かというと、例えば以下のような場合です。以下は Yahoo! ID の登録画面です。すべてを入力して登録ボタンを押したのに、
と出てしまいました。最近のブラウザでは、前の画面に戻れば入力内容が残っていることが多いので、戻ってまた新しい ID を試せばいいのですが、なかなか希望の ID が取れないと、行ったり戻ったりでイライラしてきます。時には入力内容が失われ、一から打ち直さなければならないこともあります。
ところが、そんなときに次の画面に進むボタンをcmd + クリックすれば、結果は別のウインドウに表示されるので、希望の ID が取れなかったときに入力し直す手間が省けます。
注意:ただし、画像から読み取った文字列を入力させるような場合(Captcha)で、毎回違う文字列が生成されるためこの方法が使えないことがたまにあります。他にも時々ダメな場合があります。
これが便利なのは何も登録のときだけではなくて、Google や Yahoo などの検索結果を別画面で開きたいときや、その他いろいろなフォームの入力に利用できます。私がよく使うのは、この P_BLOG の記事をブラウザで編集する場合に、何度も編集結果を確認しながら細かく更新するときで、重宝しています。
アドレスバー、Google 検索フィールドも新規ウインドウで開ける
その他には、アドレスバー、Google 検索フィールドもcmdを使うと、新規ウインドウとして開けます。(基本的に Safari の技ですが、Camino などでもこれはできます。)
アドレスバーの場合、例えば、はてなブックマークの Google というタグの付けられたもの
を見ていて、はてなブックマークのトップページを見たくなった、という場合に、URL欄の
t/Google
の部分を消して、としてから、cmd + returnを押すと、そのアドレスが別のウインドウで開きます。
ウインドウ右上の検索フィールドでも、検索語を入力してからcmd + returnを押すと、検索結果が新しいウインドウで開かれます。
最後にこれらの動作をまとめておきます。
もっと読む...
Mac OS X では必ずしも右クリックとは限らず、アクセシビリティの観点から自由に割り当てられる。参照 ⇒ 過去記事「Mac のマウスはなぜワンボタンか」 ↩