Safariに追加している便利な機能や設定

最近、Safariのとっても便利な機能や設定を知った。以前から使っているものも含めて、追加している機能を厳選して書き出してみた。

動作確認の環境

テキストエンコーディングを自動判別するよ。

以下のページをクリックしてみて欲しい。自分のSafariでは、すべて文字化けする。

  1. 本ができるまで
  2. ホームページ案内 / Homepage Guide
  3. ブートの仕組み

ところが、テキストエンコーディングの自動判別を有効にすると、かなりの確率でちゃんと読めるようになった。

  • 3.のページについては、最初文字化けが続いたが、何度かテキストエンコーディングの手動設定を繰り返しているうちに、文字化けしなくなった!
  • テキストエンコーディングを学習するのだろうか?謎だ...。

そんな機能を実現してくれる設定は...

# 自動判定を有効にする
defaults write com.apple.Safari WebKitUsesEncodingDetector -bool yes

# 自動判定を無効にする(デフォルト)
defaults delete com.apple.Safari WebKitUsesEncodingDetector
  • 設定を変更したら、Safariを再起動すると、反映された。


参考:


所感:

  • そもそも、iPhone/iPadSafariには、テキストエンコーディングの設定さえない。
  • それで文字化けしないで表示できているということは、Safariはすでに自動判別の機能を持っているはずなのだ。
  • 早いとこ、Safari標準でテキストエンコーディングを自動判別してくれる日が来ることを望む。

うっかり閉じてしまったり、突然クラッシュしても、テキストエリアの内容をできる限り保持してくれるよ。

  • textarea の内容を1分おき (または文字を書くたび) に自動保存してくれる。
  • もし保存してから10分以内に同じ URL を開いたら内容を復元してくれる。
  • input 要素には対応してないそうだ。
  • タブを閉じたり、Sarafiを強制終了したり、と試してみると...
  • 素晴らしい!書きかけのテキストを見事に復元してくれた!
  • 今までに幾度か、書きかけのはてなダイアリーが消滅してしまったこと(ガックリ)があるので、10分以内の猶予はとっても嬉しい。

そんな機能を実現してくれるのは...

      • ちなみに最初、間違ってGreaseKitのスクリプトとしてインストールしてしまい、動作しなかった。
      • かならず、NinjaKitのスクリプトとしてインストールする必要があるのだ。

閉じてしまったタブを再び開くことができるよ。

  • メニューバー:ウィンドウ >> 最近閉じたタブ >> 閉じたタブを開き直す を実行する。
  • ショートカットを割り当てておけば、うっかり閉じてしまったタブも素早く復活できるよ。
  • 復活したタブには、戻る・進む の履歴も保持されていた。

そんな機能を実現してくれるのは...

新規タブが現在アクティブなタブの右側に追加されるよ。

  • タブを閉じると、その前にアクティブだったタブに移動するよ。
  • ブックマーク・履歴・検索・URL入力を指定した時に、常に新規タブで開いてくれるよ。(commandキー不要)
  • その他にもタブにまつわる細かな挙動を便利にコントロールできる。

そんな機能を実現してくれるのは...


タブを閉じる時、編集中フォームの警告ダイアログを表示しないようにするよ。

  • テキストエリアをしっかり保持してくれて、かつ閉じたタブを素早く開けるようになった今、上記の警告ダイアログは煩わしいだけ?かもしれない。

そんな機能を実現してくれる設定は...

# 警告しない
defaults write com.apple.Safari DebugConfirmTossingUnsubmittedFormText -boolean false

# 警告する(デフォルト)
defaults delete com.apple.Safari DebugConfirmTossingUnsubmittedFormText

SafariFirefoxChromeiPhone/iPadSafari間でブックマークを同期してくれるよ。

  • その他に、パスワードや開いているタブを同期する機能もあったりして、とっても便利。

そんな機能を実現してくれるのは...

  • MobileMeの同期を利用すれば、MacBookSafariiPhone/iPadSafari間でもブックマークが同期する。
    • パスワードは同期してくれないので、ちょっと残念...。
  • つまり、どのブラウザでブックマークを変更しても、その変更が他のブラウザに伝わるのだ。


しかし... Xmarkが終了する?!

これは困った、どうしよう...。

2011年1月10日にシャットダウンされるらしい。



サービスの売却先が決まり、引き渡しまでの最終段階に入っている、らしい。(よかった!)

FLV動画を簡単にダウンロードできるよ。

  • ウィンドウの上部ツールバーを右クリックして、ツールバーをカスタマイズ...。
  • Actionメニュー(歯車アイコン)を追加する。

以上の設定をしておけば、動画ページで以下の操作が可能なる。

  • 歯車アイコン >> Flash Movie >> Copy Movie to Download Folder を実行する。

その他にも、便利な機能がたくさん。(以下その一部)

  • ダウンロードウィンドウが自動的に閉じるよ。
  • 文字入力で自動的にページ内検索が始まるよ。(入力フォーム以外の場所で)
  • 「,」「.」でタブを移動できるよ。
  • URLごとにスタイルシートを指定できるよ。
  • HTMLソースがカラー表示されるよ。(表示 >> ソースを表示)

そんな機能を実現してくれるのは...

リンクになっていないURLテキストを、自動的にリンクに変換してくれるよ。

  • http・httpsだけでなく、ttp・ttpsで始まるテキストもリンクにしてくれる。(気が利いてる!)

そんな機能を実現してくれるのは...

ページの下までスクロールすると、自動的に次のページが継ぎ足されるよ。

  • もはやあまりにも有名で、もうこれ無しではブラウズするのが億劫になる。

そんな機能を実現してくれるのは...

  • oAutoPagerize(on GreaseKit)
  • 0AutoPagerize Settings(on GreaseKit)
  • 0AutoPagerize SITEINFO(on GreaseKit)

更新情報:

参考:

ショートカット一発でウィンドウを画面一杯に最大化できるよ。

  • Safariは、ウィンドウ左上の緑色ズームボタンを押しても、ウィンドウが画面一杯に最大化してくれない。
  • 今時なぜ、こうゆう仕様なのか理解に苦しむ。(もしかして1920×1200のような大画面ユーザーのため?)
  • キッチリ最大化するためには、以下の手順を踏む必要がある。
    • ウィンドウ左上の赤色クローズボタンが隠れるくらいまで、ウィンドウを左側に移動する。
    • ウィンドウ左上の緑色ズームボタンを押す。
    • ウィンドウ右下の斜線を画面右下まで目一杯ドラッグする。
  • とっても面倒くさい。本来は、OS標準で最大化して欲しいものである。
    • 例:Safariに限らず。optionキーを押しながら緑色ズームボタンをクリックとか。

そんな機能を追加するために...

依存する関係など

  • 例えば、AutoPagerizeをインストールするためにはGreaseKitが必要である。
  • さらに、GreaseKitをインストールするためにはSIMBLが必要なのである。

そんな関係をリストにしてみると...

依存関係

ブラウザ間で同期するには、各ブラウザにXmarksのインストールが必要。

ユーザースクリプトのインストール
  • GreaseKitのみ有効な状態だと...

  • GreaseKit・NinjaKitの両方が有効な状態だと...

    • savetext.user.jsは、リンクをクリックでインストールできないことに気付いた。
    • そんな時は、ツールバーの手裏剣アイコンを押して...
    • Sctiptsタブ、Add new scriptボタン、savetext.user.jsのコードをコピー&ペースト、saveボタン、でインストールできた!

  • GreaseKit・NinjaKitの両方が有効な状態で、GreaseKitのスクリプトをインストールしたい場合は...
    • 一時的にNinjaKitを無効にしてから、インストールすれば良さそう。

    • FinderでユーザースクリプトファイルをDockのSafariアイコンにドラッグ&ドロップする方法なら、常にGreaseKitのスクリプトとして認識されるようだ。(今、気付いた)
競合する場合
  • 例えばメジャーなAutopagerizeなどは、様々な形式で実装されている。(GreaseKitのスクリプト、NinjaKitのスクリプトSafariの機能拡張など)
  • 同じ機能なのに、複数の形式がインストールされていると、正常に動作しないかもしれない。
  • 同じ機能は、どれか一つの形式に限定しておくべきなのだ。


以上、開発者の方々に深く、深ーく感謝!