Windows更新http://support.microsoft.com/?kbid=2846071是否会破坏 window.event.clientX 和 clientY 的处理?似乎使用IE 9或10的Windows 7机器现在返回的东西看起来像窗口位置(左上角)而不是窗口内的鼠标位置。这些数字看起来很准确,但可能是否定的。
或者这是一个“修复”,我应该在鼠标位置使用别的东西。
我在 window.onbeforeunload 中使用它来检测用户离开页面时没有注销并给他们启动,但我今天禁用了这个,直到我弄明白了。
答案 0 :(得分:3)
可能会更改以解决此处的安全问题:http://blogs.msdn.com/b/ie/archive/2012/12/13/update-to-alleged-information-and-security-issue-with-mouse-position-behavior.aspx
答案 1 :(得分:2)
唉! 好的,这就是微软试图解决的问题以及他们在此过程中遇到的问题。
最初IE浏览器视口(1)之外的事件坐标泄漏(例如,在网页不应该知道的区域)以及当IE窗口没有泄漏坐标时主动关注(2)(例如当你在另一个应用程序或另一个监视器上时......最后它泄漏了一些击键(3)。
看起来微软修复了坐标的泄漏...但是 完全 删除所有这些......包括 USEFUL 在视口坐标中!
e.g。对于X,Y坐标,事件返回undefined
,这些坐标在浏览器视口中肯定是100%。
答案 2 :(得分:2)
这看起来像是微软不打算发布的东西。
路上是补丁修补程序吗?
此外:clientX / clientY(和类似属性)的问题取决于用于触发javascript的事件。我发现onfocus返回不正确的坐标,但是onclick返回正确的坐标。没有尝试过其他活动。
答案 3 :(得分:1)
OP中的javascript被这个Microsoft 2013年7月更新打破(这在“已知问题”部分中甚至得到承认):
http://support.microsoft.com/kb/2846071/en-gb
但它已在2013年8月的更新中得到修复:
http://support.microsoft.com/kb/2862772
我已确认我安装Aug更新的客户不再有问题。