2009-12-11 90 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