3

誰かがここで私を助けてくれることを願っています-私はいくつかのjavascriptをテストしていて、whileループにアラートを入れて、いくつかの変数がどのように変化しているかを示していますが...間違った行に入れ、Safari( Mac) はアラートをループしているだけです。アプリを強制終了せずに停止する方法はありますか (他のウィンドウを開いているので、やりたくありません)。

4

9 に答える 9

2

OS X Lion の Safari 5.1 でこれが発生しました。多くのグーグルの後、答えを見つけることができませんでした。私はいくつかの掘り下げを行い、解決策を見つけました:

  1. サファリを強制終了
  2. ディレクトリを開きます ~/Library/Safari/Extensions
  3. 拡張機能を削除する
  4. サファリを開く

この質問はずっと前に出されたことは知っていますが、「Safari 拡張機能が無限ループに陥った」という Google での最初の結果なので、更新する価値があると考えました。

于 2012-01-17T19:17:24.627 に答える
2

ところで、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」を使用してください。

于 2014-02-26T21:55:10.833 に答える
2

申し訳ありませんが、ありません。これを回避する唯一の方法は、アラートの間に特定のタブを閉じることができる場合ですが、ボックスを閉じた直後にそれらがポップアップしている場合は、何もできません.

于 2010-11-08T17:11:50.043 に答える
0

以前のコメントに追加するために、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 がこのバグをブラウザの新しいバージョンに忍び込ませました。もっと言う必要がありますか?

于 2014-02-21T11:54:29.450 に答える
0

Google Chrome でこれを試してください。Safari と同じブラウザ エンジンを搭載しています。彼らがこの問題を抱えていた場合、早い段階で解決していたに違いありません。Apple の誰かが、これを修正するために Google と連絡を取らないのはなぜですか?

両方のブラウザで確認する必要がある request.servervariable は HTTP_USER_AGENT です

于 2014-02-21T11:38:22.400 に答える