0

IE のセキュリティ設定には、「スクリプト」設定「スクリプト化されたウィンドウを使用して Web サイトが情報を求めることを許可する」があります。

大規模なデータベース更新の簡単な確認として(送信前に)「確認()」ダイアログを使用しようとしています。ただし、alert() の出現 (またはその欠如) をデバッグする場合も同じことが当てはまります。

セキュリティ設定が無効に設定されている場合、確認は失敗します (ユーザーが「キャンセル」を選択した場合と同じです)。

設定が無効になっているかどうかをプログラムで判断し (実際の confirm() 呼び出しの前に)、その状況で単純にコミットする方法があるかどうかを知りたいです。確認は本当に細かいことです。

4

2 に答える 2

0

問題の設定はメソッドに適用され、window.prompt()メソッドには影響しませんwindow.confirm()

実際にメソッドを呼び出さずに JavaScript からその設定の状態を検出する方法はありません。

于 2013-08-22T06:36:41.153 に答える
0

私は、呼び出しが戻るのにかかる時間を測定することによって、window.prompt() が表示されていないかどうかを判断する方法を思いつきました。100 ミリ秒未満の場合、ユーザーはそれを見たことがない可能性があります (つまり、無効になっています)。

100ms == (1/10 秒ルールに基づく任意の数値: つまり、平均的な人間が最適な状況下でユーザー インターフェイスに反応するのにかかる時間)

var start = (new Date).getTime();
var data = prompt("test","test");
var diff = (new Date).getTime() - start;
if( diff < 100 )
{
 // no prompt
}
else
{
 // prompt was displayed
}
于 2013-08-22T18:41:46.590 に答える