Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Android chrome pageY值是否随着最新chrome更新而改变?_Javascript_Android_Jquery_Google Chrome - Fatal编程技术网

Javascript Android chrome pageY值是否随着最新chrome更新而改变?

Javascript Android chrome pageY值是否随着最新chrome更新而改变?,javascript,android,jquery,google-chrome,Javascript,Android,Jquery,Google Chrome,最新版本的android chrome是否破坏了jquery页面的值,或者我完全遗漏了什么? 特别是从鼠标事件返回的pageX/pageY值 <script> $( document ).on( "click", function( event ) { $( "#log" ).text( "pageX: " + event.pageX + ", pageY: " + event.pageY ); }); </script> $(文档)。在(“单击”)上,函数(事件

最新版本的android chrome是否破坏了jquery页面的值,或者我完全遗漏了什么? 特别是从鼠标事件返回的pageX/pageY值

<script>
$( document ).on( "click", function( event ) {
  $( "#log" ).text( "pageX: " + event.pageX + ", pageY: " + event.pageY );
});
</script>

$(文档)。在(“单击”)上,函数(事件){
$(“#log”).text(“pageX:+event.pageX+”,pageY:+event.pageY);
});

在Windows Chrome或Android Firefox上,一切看起来都很棒。对于android chrome,点击/悬停时此页面上显示的值是错误的。负数、大于预期的数字、缩放/滚动时数字会发生变化(不应该发生变化)等等。我在JSFIDLE站点上尝试了两种不同版本的jquery,所有这些都是针对android chrome的

这把小提琴改成了“点击”而不是“鼠标移动”:

同样,台式机、iphone和android firefox也能正常工作。安卓chrome 38.0.2125.102看起来很破

我在生产中有代码,希望pageY是。。。精确的那个密码已经有一段时间没变了,突然间,情况发生了变化

想法?还有人看到了吗?这东西总是不知怎么坏的吗


我在Nexus 5上的Android 38.0.2125.102版Chrome上也看到了这一点。我不确定这个bug是什么时候引入的,但它现在破坏了我们在查找event.pageY值时所依赖的代码


我检查了我的设备,很明显报告的event.pageY值与桌面相比是错误的。同样,Android版Chrome(32.0.1700.99)的早期版本也会报告正确的event.pageY值。

因此这是一个糟糕的攻击。我讨厌把版本字符串放在浏览器的变通方法中。我试着根据窗口偏移量或你点击的项目的大小来做一个,但是如果图像足够大,它不会100%的工作。希望这会很快得到修复,但如果你来这里寻找Android Chrome中这个特定错误的答案,下面是我修复它的方法

android chrome的未来版本可能也有同样的bug,我们可能需要一个被破坏版本的运行列表。如果你来到这个页面时有不同的坏版本,请把它放在下面的评论中。(请就铬问题进行投票。)


我已经创建了一个罚单,可能会将你的.02c添加到我的chromium bug上。刚刚添加了它!谢谢你提交。
var clientY = evt.clientY;
var clientX = evt.clientX;
var pageX = evt.pageX;
var pageY = evt.pageY;

if(window.navigator.appVersion.match(/Chrome\/(.*?) /)[1] == "38.0.2125.102"){
 //hack to fix the chromium bug
 //https://code.google.com/p/chromium/issues/detail?id=423802
 clientX -= window.scrollX;
 clientY -= window.scrollY;
 pageX -= window.scrollX;
 pageY -= window.scrollY;
}