Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.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 为什么可以';你不是在一个iframe里抓到老鼠吗? 更新:_Javascript_Html_Iframe - Fatal编程技术网

Javascript 为什么可以';你不是在一个iframe里抓到老鼠吗? 更新:

Javascript 为什么可以';你不是在一个iframe里抓到老鼠吗? 更新:,javascript,html,iframe,Javascript,Html,Iframe,这似乎是Chrome(可能还有我的代码)中的一个bug,因为它在Firefox中工作 | top window | iframe | Google Maps --------+------------+----------+-------------- Firefox | Good | Good | Good --------+------------+----------+-------------- Chrome | Good |

这似乎是Chrome(可能还有我的代码)中的一个bug,因为它在Firefox中工作

        | top window | iframe   | Google Maps
--------+------------+----------+--------------
Firefox |    Good    |   Good   |    Good
--------+------------+----------+--------------
Chrome  |    Good    |   Bad    |    Bad 
--------+------------+----------+--------------
Safari  |    Good    |   Bad    |    Good  
--------+------------+----------+--------------
不确定Google Maps如何解决Safari中的问题,下面代码段中的代码没有解决这个问题

。明星尝试引起一些注意(或者在下面发布一个解决方案?)

原始问题 浏览器不允许在iframe中捕获鼠标有什么具体原因吗

注意:我所说的“捕获鼠标”是指当用户单击(mousedown)某个元素时,您希望跟随鼠标直到他们松开鼠标

在顶级窗口(不是iframe)中,您可以这样做

const elem=document.querySelector(“#elem”);
const info=document.querySelector(“#info”);
元素addEventListener('mousedown',handleMouseDown,true);
功能手柄向下(e){
e、 预防默认值();
e、 停止传播();
document.addEventListener('mousemove',handleMouseMove,true);
文件。addEventListener('mouseup',RemoveMouseListener,true);
info.textContent=`listeners added`;
}
功能手柄移动(e){
e、 预防默认值();
info.textContent=`${e.clientX},${e.clientY}`;
}
函数移除鼠标侦听器(e){
document.removeEventListener('mousemove',handleMouseMove,true);
document.removeEventListener('mouseup',removeemouselisteners,true);
info.textContent='listeners removed';
}
#elem{背景:红色;填充:1em;}
在窗口外单击并拖动

Firefox仍在发送它。Safari没有:将不得不检查将不得不检查Webkit来源?叹气。。。。iframe中的谷歌地图可以在Safari中使用,但不能在Chrome中使用。Safari没有发送带有上述代码的消息,但很明显Google Maps找到了一个解决方案,您对iframe内容和主文档有多大的控制?还注意到,即使浏览器的窗口失去焦点,他们也会发送事件。。。如果您在框架的BBox上。