Javascript chrome上没有更新window.screenX/screenY
我创建了这个小测试页面,它在一个循环中打印window.screenX和screenY,它无法更新chrome上的值 mac上的版本67.0.3396.79(官方版本)(64位) (适用于Safari和FF):Javascript chrome上没有更新window.screenX/screenY,javascript,html,google-chrome,window,screen,Javascript,Html,Google Chrome,Window,Screen,我创建了这个小测试页面,它在一个循环中打印window.screenX和screenY,它无法更新chrome上的值 mac上的版本67.0.3396.79(官方版本)(64位) (适用于Safari和FF): const wrapper=document.getElementById('wrapper'); const wrapperClick=document.getElementById('wrapperClick'); document.body.addEventListener('c
const wrapper=document.getElementById('wrapper');
const wrapperClick=document.getElementById('wrapperClick');
document.body.addEventListener('click',(e)=>{
wrapperClick.innerText=`${window.screenX},${window.screenY},${window.innerWidth}×${window.innerHeight}`;
});
函数refreshLoop(){
window.requestAnimationFrame(()=>{
wrapper.innerText=`${window.screenX},${window.screenY},${window.innerWidth}×${window.innerHeight},${Math.random().toFixed(2)}`;
刷新循环();
});
}
刷新循环()代码>
正文{
保证金:0;
高度:100vh;
}
#包装纸,
#包装器点击{
位置:固定;
顶部:16px;
左:16px;
字体系列:monospace;
字号:18px;
线高:20px;
}
#包装器点击{
顶部:52px;
}
在Mac上的Chrome67.0.3396.62
上测试时,值会正确更新,但只有在您停止调整/移动窗口时,这是当前的行为
自2014年初以来,有一个问题一直悬而未决,即报告并要求改变:
哪些步骤会重现问题?
启动示例应用程序(附件)
把它拖来拖去
请注意,screenX
和screenY
仅在停止移动鼠标后更新。这与调整大小期间更新的innerWidth
和innerHeight
的行为不一致
如果screenX
和screenY
参数在拖动过程中更新,而不仅仅是在拖动结束时更新,则更有用
你为什么需要这个?你想实现什么?我正在做POS,检测Android webView的位置,只使用JS。当我在webView中单击时,我可以得到屏幕的X/Y和相对于webView的X/Y(clientX/Y)。然后我可以计算webView的位置。我试图在本地应用程序被滚动时计算相同的值。我只想用当前的行为实现它。一旦用户停止调整/移动应用程序,他们可能只关心它的外观是否正确。无论你能找到什么解决办法,这可能都不值得付出努力。