如何从IE中的跨域iframe获取窗口大小

时间:2012-12-10 09:55:04

标签: javascript iframe

在跨域方案中,我需要知道在iframe内运行的javascript代码时iframe大小(宽度和高度)中的内容。 (我不能爬到父母,因为我在跨域iframe) 注意:我不想使用jquery。 我尝试了几种方法来获取这些信息:

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

2 个答案:

答案 0 :(得分: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/操作的提示。

答案 1 :(得分:0)

如果要获取窗口大小,请使用此选项(如果有,则不包括滚动条大小):

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

如果您想获取文档大小,请使用此选项(如果有,请使用滚动条大小除外):

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