2012-12-10 46 views
1

在跨域場景中,當iframe中運行JavaScript代碼時,我需要知道iframe的大小(寬度和高度)。 (我不能爬到父母,因爲我在跨域iframe) 注意:我不想使用jquery。 我嘗試了幾種方式來獲取信息:如何從IE中的跨域iframe獲取窗口大小

var w = window.innerWidth || window.document.documentElement.clientWidth || document.getElementsByTagName('body')[0].clientWidth || document.body.offsetWidth 
var h = window.innerHeight || window.document.documentElement.clientHeight || document.getElementsByTagName('body')[0].clientHeight || document.body.offsetHeight 
+0

這是什麼?你爲什麼不提供更多的代碼作爲上下文代碼的位置以及你在做什麼? – Ian

+0

不應該有這個。我刪除了它 –

+0

所以你有一個iframe的Javascript。你正在努力獲得什麼? iframe?或者持有iframe的父窗口?確切地說, – Ian

回答

0

所以,你想對另一個域訪問的iframe? 由於XSS保護,您不能。

這裏有一個類似的問題:Get DOM content of cross-domain iframe

http://en.wikipedia.org/wiki/Cross-site_scripting

編輯:也許這個解決方案可以給你上取決於你對你的網頁的權限做什麼http://paulasmuth.com/blog/dynamic_height_crossdomain_iframe/的提示。

+0

我不想訪問另一個域。我嘗試使用運行在相同iframe上的javascript獲取iframe大小 –

+0

Oooh好吧,現在它更清晰了!是的,它應該足以像德西說的那樣去做。 – RedKnight91

0

如果你想獲得窗口的大小,使用這個(不包括是否有滾動條大小):如果你想要得到的文件大小

var w = document.documentElement.clientWidth; 
var h = document.documentElement.clientHeight; 

,使用這個(不包括滾動條的大小,如果有是):

var w = document.documentElement.scrollWidth; 
var h = document.documentElement.scrollHeight;