1

在跨域场景中,当 javascript 代码在 iframe 中运行时,我需要知道 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
4

2 回答 2

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/ 。

于 2012-12-10T09:59:19.783 回答
0

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

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

如果要获取文档大小,请使用此(如果有,则不包括滚动条大小):

var w = document.documentElement.scrollWidth;
var h = document.documentElement.scrollHeight;
于 2012-12-10T10:23:35.013 回答