Firefoxは基本的に重いブラウザではあります。
けれども、最近尋常じゃないくらいFirefoxが重くて、タブを一度に大量に閉じたときなどには、以下のような「警告:応答のないスクリプト」と表示されて固まってしまうことがあります。
しかも、このダイアログのタチの悪いところは、以下のように「次回からは確認しない」にチェックを入れても、全く関係なく毎回毎回処理が途中で中断されてしまうという点です。
こういった状態が毎日毎日続くので、さすがに我慢しきれなくなったので、対処することにしました。
で、僕の場合はこれらの対処法で問題が解決されたので、そのやり方を書き記しときたいと思います。
Photo by Mohamed Saeed
目次
対処法1.不要なアドオンはすべて無効にする
とりあえず、アドオンは1度利用状況を確認してみる必要はあると思います。
それで、全く使用していなかったり、ほとんど使用していないアドオンは「無効化」もしくは「削除」してしまいます。
アドオンの設定を見返すには、Firefoxのメニューボタンから「アドオン」を選択してください。
「拡張機能」を選択するとアドオン一覧が表示されます。
アドオン一覧を確認してみて、不要なアドオンがあれば「無効化」もしくは「削除」ボタンから、すべて無効化してしまいます。
あとは、再起動をすればOKです。
個人的に、「メモリ解放系」のアドオンなどは、Firefoxを重くする原因になるので、無効化(削除)しておいた方が良いかと思います。
対処法2.スクリプトをより長い時間実行させる
デフォルト状態だとスクリプトが10秒間実行されたら以下のようなダイアログが表示されるようになっています。
このスクリプトの実行時間を、もう少し長くしてあることで、「ダイアログが表示されることで処理が止まってしまう」なんてことを防ぐことができます。
僕の場合、Firefoxのタブを大量に閉じたときに、警告ダイアログが表示されるのですが、これが出てしまうと「タブを閉じる動作」が途中でストップしてしまいます。しかも、「処理を続行」ボタンを押しても、また表示されることもあります。「スクリプトを停止」ボタンを押せば、復帰はできるのですが、これがまた、かなり時間がかかってしまい二度手間です。
ですので、「多少のスクリプト実行時間は長くなってしまっても、ダイアログにより処理が途中で中断される」ことを防ぐことにより、無駄な操作や、待ち時間を減らす方法です。
スクリプト実行時間を長くする方法
スクリプトの実行時間を長くするには、アドレスバーに「about:config」と入力しEnterキーを押してください。
すると以下のように「動作保証対象外になります!」といった警告文が出ますが、「危険を承知の上で使用する」ボタンをクリックしてください。
すると以下のような設定一覧画面が表示されます。
「検索」と書かれた入力ボックスに「dom.max_script_run_time」と入力しEnterキーを押してください。
すると、同名の設定名が抽出されて表示されます。
設定名をダブルクリックすることで、整数値を入力するダイアログが表示されます。
このダイアログに対して、スクリプトを実行する時間(秒)を設定します。
僕の場合は、多少時間は長くかかっても良いので、「ダイアログにより処理が途中でストップしてしまう」のだけは防ぎたかったので、長めの60秒に設定しました。通常なら、20~30秒でも十分かと思います(デフォルトは10秒)。
設定を完了したら「OK」ボタンを押してください。
もし上記の設定を行った事により、不具合が出たり、状態が改善されない場合は、設定項目を右クリックの後、「リセット」メニューを選択してください。
まとめ
僕の環境では、今回の設定を行ったことにより、大量のタブを一度に閉じたとしても、途中でハングアップしダイアログが表示されて、ブラウザが固まってしまうということはなくなりました。
この設定だと、とりあえず大量のタブを閉じてしまえば、時間は多少かかろうとも、しばらく他の作業をしていれば、タブはすべて閉じられます。
ダイアログが出て処理が途中で止まってしまう場合だと、「処理の続行」なり「スクリプトの停止」なり操作をしてからまたしばらく待つ必要があったので、1度の作業で目的の操作を終えることができるようになったので、使い勝手が向上しました。
というわけで「大量にタブを閉じたときにダイアログが表示され処理が中断されてウザい」とか「警告:応答のないスクリプトダイアログをなるべく出さないようにしたい」なんて場合には、今回の設定を行うと、問題が解決されるかもしれません。
画像の「同名の設定が抽出」って日本語崩壊しているんだが。
なんで「される」「された」を省略する必要があるのか意味不明。
文章ではちゃんと「されて」と書いているのに。