0

イントラネットにインストールされ、IE でアクセスされるアプリケーションがあります。ユーザーがブラウザーを閉じた場合 (ブラウザーの右上隅にある X を使用する場合など) に実行したいことがありますが、ユーザーがリンクをクリックして別のページに移動した場合は実行したくないことがあります。したがって、javascript では、この状態を検出したいと考えています。推奨される最も一般的な解決策は、onunload または onbeforeunload 関数で、event.ClientY が負かどうかを確認することです。負の場合、ユーザーは X をクリックしてブラウザを閉じました。これが完全に信頼できるものではないことはわかっていますが、IE でのみ機能する必要があります。次に例を示します。

http://www.coderanch.com/t/122627/HTML-CSS-JavaScript/Generic-code-Detect-Brower-閉じる

問題は次のとおりです。特定のクライアント コンピューターでは、別のページに移動するはずのページ上のリンクをユーザーがクリックすると、event.clientY の値が常に負の値になります。ブラウザを閉じたときに実行されます。event.clientX と event.clientY は、クリックしたページのどこにリンクがあっても、常に同じ負の値としてスタックします。これを行うクライアント コンピューターでは、何も違いが見られません (IE のバージョン、設定、互換性ビュー、またはサーバーが信頼済みサイトであるかどうかなど)。onclick 関数で event.clientY をアラートすると、正しいようです。onunload および onbeforeunload 関数で負の値としてスタックするだけです。

なぜこれが起こっているのか、またはIEの設定が原因である可能性についてのアイデアはありますか?

4

1 に答える 1

2

OP の JavaScript は、この Microsoft の 2013 年 7 月の更新によって壊れていました (これは、「既知の問題」セクションでも認められています)。

http://support.microsoft.com/kb/2846071/en-gb

しかし、この 2013 年 8 月の更新で修正されました。

http://support.microsoft.com/kb/2862772

8 月の更新プログラムをインストールしたクライアントに問題がないことを確認しました。

于 2013-08-15T00:21:08.450 に答える