Javascript 确定iframe是否在屏幕上可见

Javascript 确定iframe是否在屏幕上可见,javascript,jquery,iframe,cross-domain,Javascript,Jquery,Iframe,Cross Domain,我有一个iframe,它正在加载到外部站点,我无法在其中放入任何代码。我希望能够从iframe(不同域)中确定iframe当前是否在浏览器的“视口”中(或者是否从页面上滚动) 有没有办法做到这一点?因为我不相信我可以访问父页面的scrolltop和viewport height属性(由于跨域),除非我弄错了 谢谢不,无法执行此操作,因为您无法访问父域的文档。这需要确定iframe元素的位置。您可以获得用户屏幕的大小,但仅此而已。你的iframe可能是看不见的,你也无从得知。对不起 我知道这是一个

我有一个iframe,它正在加载到外部站点,我无法在其中放入任何代码。我希望能够从iframe(不同域)中确定iframe当前是否在浏览器的“视口”中(或者是否从页面上滚动)

有没有办法做到这一点?因为我不相信我可以访问父页面的scrolltop和viewport height属性(由于跨域),除非我弄错了


谢谢

不,无法执行此操作,因为您无法访问父域的文档。这需要确定iframe元素的位置。您可以获得用户屏幕的大小,但仅此而已。你的iframe可能是看不见的,你也无从得知。对不起

我知道这是一个老问题,但Chrome发布了一些新的API,可以在最新版本的Chrome(22+)上回答您的问题

InteractionObserver
您可以在这里找到它:

有一个正在开发的polyfill(相同的回购协议),但只有当脚本位于父网页上时,它才能在iframe afaik中工作


对于其他浏览器来说,这是一些基于计时攻击的黑暗方法,本文对此进行了很好的解释:

很遗憾,我现在同意你的看法,感谢你确认我在搜索中没有遗漏任何东西。最近有人问我。