none
更新プログラム (KB2846071) を適用後 javascriptのwindow.onbeforeunloadでのevent.clientYの値について

    質問

  • 下記の更新プログラムを適用後の状態です。
     Windows 7 用 Internet Explorer 9 の累積的なセキュリティ更新プログラム (KB2846071)

    下記のようにjavascriptでwindow.onbeforeunloadでの処理を記述しているのですが、
    更新プログラム適用後、画面上をクリックしてもevent.clientYが全てマイナスの値が帰ってくるようになってしまいました。
    更新前は、正しい位置が取得できていたのですが、取得できなくなってしまいました。

        function window.onbeforeunload() {
            if (event.clientY < 0 || event.altKey) {
                閉じたときの処理();
            }
        }

      event.clientX,event.clientYにマイナスの値が入ってしまうのは、回避できないでしょうか。
    2013年7月10日 13:32

回答

  • The window.event provide some client information such as we can call window.event.clientY to get mouse position.

    But for security issue, KB2846071 disableb such features. This hotfix avoid SPY ware or virus to get client information by using window.event in IE.

    2013年7月12日 5:55
  • 更新プログラム適用前までは、動いていたのですが

    現在は、おっしゃるとおり、無意味になってしまっています。

    とりあえず、下記のようにしたので、質問を終了します。

       function window.onbeforeunload() {

        if (navigator.userAgent.indexOf("MSIE") != -1) {

              if (event.altKey) {
                  閉じたときの処理();
              }

            }

        }

    IEのみ×ボタンの判定が出来ませんが、FirefoxとChromeは、問題ないので、

    あまり気にしてもしょうがいないかもしれません。

    ちょっと、気になっているのは、この更新プログラムで他の部分も動作が変わっていないか心配ではあります。


    • 編集済み mmmmmm822 2013年7月12日 11:14 ちょっと変更します
    • 回答としてマーク mmmmmm822 2013年7月12日 11:15
    • 回答としてマークされていない mmmmmm822 2013年9月11日 4:58
    • 回答としてマーク mmmmmm822 2013年9月11日 5:24
    2013年7月12日 10:58
    • 回答としてマーク mmmmmm822 2013年9月11日 4:58
    • 編集済み mmmmmm822 2013年9月11日 5:24 解決しているのかな?
    2013年9月11日 4:58

すべての返信

  • The window.event provide some client information such as we can call window.event.clientY to get mouse position.

    But for security issue, KB2846071 disableb such features. This hotfix avoid SPY ware or virus to get client information by using window.event in IE.

    2013年7月12日 5:55
  • 更新プログラム適用前までは、動いていたのですが

    現在は、おっしゃるとおり、無意味になってしまっています。

    とりあえず、下記のようにしたので、質問を終了します。

       function window.onbeforeunload() {

        if (navigator.userAgent.indexOf("MSIE") != -1) {

              if (event.altKey) {
                  閉じたときの処理();
              }

            }

        }

    IEのみ×ボタンの判定が出来ませんが、FirefoxとChromeは、問題ないので、

    あまり気にしてもしょうがいないかもしれません。

    ちょっと、気になっているのは、この更新プログラムで他の部分も動作が変わっていないか心配ではあります。


    • 編集済み mmmmmm822 2013年7月12日 11:14 ちょっと変更します
    • 回答としてマーク mmmmmm822 2013年7月12日 11:15
    • 回答としてマークされていない mmmmmm822 2013年9月11日 4:58
    • 回答としてマーク mmmmmm822 2013年9月11日 5:24
    2013年7月12日 10:58
  • Thanks for your answer.

    It is such that the security on window.event that no longer can be obtained,
    So, I'm not ginger. if you can not get in clientY window.onbeforeunload,
    I think a big deal, no.

    I was able to do translations google translation, to understand the answer content.
    This reply also on google translation, it is translated things. Maybe, text might be funny.
    2013年7月16日 3:53
  • Does KB2846071 behave identically on IE8 instead of IE9 ?

    2013年8月7日 5:28
  • もういいのかもしれませんが・・・

    onbeforeunload の代わりに onpagehide を使っても同じ結果になりますか?


    2013年8月7日 6:52
    • 回答としてマーク mmmmmm822 2013年9月11日 4:58
    • 編集済み mmmmmm822 2013年9月11日 5:24 解決しているのかな?
    2013年9月11日 4:58