2009-12-11 63 views
4

我有被加载到外部网站的iframe,而我不能把任何代码。我想做些什么能够从我的iframe中,以确定(不同域)上可见如果iframe当前位于浏览器的“视口”内(或者如果它从页面滚动)。确定是否一个iframe是屏幕

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

谢谢

+0

有人问[完全相同的问题(http://stackoverflow.com/questions/ 1860931最近,什么是优化,什么是优化,什么是优化,什么是优化,什么时候优化。 – 2009-12-11 00:12:37

+0

对不起,我没有看到! – 2009-12-11 20:24:49

回答

4

不,它不能完成,因为你不能访问父域的文档。这需要确定iframe元素的位置。你可以得到用户屏幕的大小,但是这是关于它的。你的iframe可能是不可见的,你将无法告诉。抱歉!

+0

不幸的是我现在同意你的说法,谢谢你确认我没有在我的搜索中漏掉任何东西 – 2009-12-11 20:25:33

0

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

InteractionObserver,你可以在这里找到:https://github.com/WICG/IntersectionObserver

有一个polyfill正在开发(相同的回购),但它不会在iframe afaik内工作,前提是脚本位于父级网页上。

对于其他浏览器自己是做基于定时攻击一些黑暗的方式,这篇文章解释了它相当不错:http://www.contextis.com/documents/2/Browser_Timing_Attacks.pdf

相关问题