誰かがここで私を助けてくれることを願っています-私はいくつかのjavascriptをテストしていて、whileループにアラートを入れて、いくつかの変数がどのように変化しているかを示していますが...間違った行に入れ、Safari( Mac) はアラートをループしているだけです。アプリを強制終了せずに停止する方法はありますか (他のウィンドウを開いているので、やりたくありません)。
9 に答える
OS X Lion の Safari 5.1 でこれが発生しました。多くのグーグルの後、答えを見つけることができませんでした。私はいくつかの掘り下げを行い、解決策を見つけました:
- サファリを強制終了
- ディレクトリを開きます ~/Library/Safari/Extensions
- 拡張機能を削除する
- サファリを開く
この質問はずっと前に出されたことは知っていますが、「Safari 拡張機能が無限ループに陥った」という Google での最初の結果なので、更新する価値があると考えました。
ところで、FireFox はポップアップが繰り返されると自動的にプロンプトを表示するので、「いいえ」と答えることができます。なぜSafariはこれをしないのですか?
Safari でこれを停止する方法を数多く試しました。ここで議論している問題は、pageUnload イベントを使用してダイアログ ボックスでユーザーをトラップする Web ページによる実にばかげた悪用でもあります。
強制終了する必要があります。ただし、Safari を再度開くときに Shift キーを押したままにして、最後のページが読み込まれないようにします。または、コードを再投稿/再保存して、Safari がページをロードするときに、そもそもこの問題が発生しないようにします。
将来的には、alart()
この種の情報を表示するために使用しないでください。ページの空の div に書き出すだけです。
jQuery では、ループ コードでこれを行います。
$('#testDiv').html('myVarA = ' + myVarA + ' myVarB = ' + myVarB + '<br>'); //write variables to test div.
また
$('#testDiv').append('myVarA = ' + myVarA + ' myVarB = ' + myVarB + '<br>'); //append variables to test div, with a line break.
これをページに追加します。
<div id="testDiv">Test Results Here</div>
変数を DIV に書き出すことで、変数を観察できるだけでなく、ポップアップ ループを回避し、動的ページを正常に操作できるようになります。必要に応じて「html」または「append」を使用してください。
申し訳ありませんが、ありません。これを回避する唯一の方法は、アラートの間に特定のタブを閉じることができる場合ですが、ボックスを閉じた直後にそれらがポップアップしている場合は、何もできません.
以前のコメントに追加するために、request.servervariable 変数 HTTP_USER_AGENT の結果を次に示します。
クロム:
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (Gecko のような KHTML) Chrome/31.0.1650.63 Safari/537.36
サファリ:
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.57.2 (Gecko のような KHTML) バージョン/5.1.7 Safari/534.57.2
使用されている AppleWebkit の違いに気付くかもしれません。私が言ったように、Google がこの問題を抱えて解決したか、Apple がこのバグをブラウザの新しいバージョンに忍び込ませました。もっと言う必要がありますか?
Google Chrome でこれを試してください。Safari と同じブラウザ エンジンを搭載しています。彼らがこの問題を抱えていた場合、早い段階で解決していたに違いありません。Apple の誰かが、これを修正するために Google と連絡を取らないのはなぜですか?
両方のブラウザで確認する必要がある request.servervariable は HTTP_USER_AGENT です