読者です 読者をやめる 読者になる 読者になる

Safari 5.1.2 で、ページが勝手に再読み込み(更新)されるときの対処法

はじめに

Mac OS X 10.6.8 において唯一の不満は、Safari 5.1.2 の不安定さだ。タブを多く開くと勝手に再読み込みを始めたり、そのタブの処理が重いと他のタブにまで影響が出たりする。ページが真っ白になって、そのタブを閉じたくても反応しないなんてことが頻繁に起こる。これをなんとか解消したい。Safari使いたい。マカーな気分に浸りたい。
そもそも、動作が重くなったとき、「WebProcess」ってのが悪さをしているようだ。これはSafari 5.1 のページ表示を担当するプロセスらしい。Safari 5.1は、ツールバーやアドレスバーなどのコンポーネントを表示する「UI Process」と、実際のWebページを読み込み表示する「Web Process」という二つの処理が独立して動いている。そのWeb Processの機能に、「Multi-Process Windows」というものがある。これは、クラッシュ防止のために導入されたらしいが、どうやらこれがタブ再読み込み問題の原因だという。これを止めれば、安定動作が実現できるかも。


注意:この方法はSafari5.1で追加された新機能が使用できなくなるようです。リーディングリストも使用できなくなり、そのリストも消えてしまうようなので、実行するまえにバックアップすることを推奨します。


追記:何度かMulti-Process Windows機能を入れたり切ったりしたのですが、リーディングリストの内容は消えていませんでした。データそのものは残っているようなので心配しなくても大丈夫みたいです。

目的

Safari 5.1.2 の機能の一つ、「Multi-process windows」を停止する。

方法


  1. まず、SafariのDebug機能を表示する。ターミナル上で

    defaults write com.apple.Safari IncludeInternalDebugMenu -boolean true
    

    として、Safariを再起動。


  2. Safariのメニューバーの「Debug」→「Use Multi-process Windows」のチェックを外す。

これだけ。どうもこの機能を外すと一部の拡張機能が使えなくなったりするらしい。僕の環境ではNinjaKitが使えなくなった。ちなみに僕が使っている拡張機能

  • Safari140 --- twitterへの投稿用
  • Invisible Status Bar --- ステータスバーの表示に
  • AutoPagerize --- 「次のページ」を自動読み込み
  • Hatena Bookmark Safari Extension --- 表示ページのはてなブックマーク数とか
  • Exposer --- 開いているタブのサムネイル一覧表示
  • NinjaKit --- さまざまなJavaScriptを組み込み実行するため(greacemonkeyみたいな)←使えなくなっちゃった;;でも代わりにGreaseKitが使えるようになったので問題なし
  • ClickToPlugin --- Flashを自動では読み込まない用(軽快動作のために)

です。

まとめ

Safari 5.1.2のDebugメニューを表示させ、Multi-process Windows機能を停止させることで、タブ再読み込みによる不安定さを解消できる!!