在iframe之外捕获鼠标事件数据

3

我正在开发一个Facebook应用程序,遇到了这样一种情况:能够捕获鼠标是否离开应用程序的 iframe 将是非常重要的信息。我尝试在 jquery 中使用 window.blur() 和 window.focus(),但由于特定原因(涉及到内容渲染),这只适用于 Firefox 浏览器。我考虑使用 mousemove() 来捕获鼠标的 x 和 y 坐标,但似乎一旦鼠标离开了 iframe,就没法实现了。

简而言之,我有一个 iframe,并对其进行控制,但我不能控制其嵌入的页面。我需要捕获鼠标在我的 iframe 之外的移动/点击等操作,并想知道这是否可能。谢谢!


你尝试过在iframe文档的body标签上使用mouseenter和mouseleave吗? - Martin Jespersen
2
如果iframe的内容和页面外部内容的document.domain不相同,那么在鼠标离开iframe后获取任何信息的可能性微乎其微。但是实际上离开事件是可以做到的。 - Martin Jespersen
@Martin 和 qwertymk。由于 Facebook 生成 iframe,据我所知,我不认为我可以在其上调用任何内容。 - keybored
你不需要对iframe本身进行操作,只需处理其中的内容 - 即document/document.body。 - Martin Jespersen
Facebook不会生成iframe。Iframe是从您的服务器托管的。它将像任何普通网页一样在iframe内部运行。 - Nate Totten
@Nathan 很有趣,我得问问设置那部分的人,他让我误以为不同。@Martin 和 qwertymk 非常感谢!这绝对是我需要的解决方案。 - keybored
1个回答

0

我采用了Martin和qwertymk的解决方案组合来解决这个问题。我会把你们标记为回答问题的人,但由于你们无法批准评论,所以只能这样做。谢谢大家。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接