【问题标题】:How do I get the current iframe offset from within the iframe?如何从 iframe 中获取当前 iframe 偏移量?
【发布时间】:2012-06-12 00:21:59
【问题描述】:

我希望安全限制(跨站点脚本)会阻止我这样做,但我认为询问不会造成伤害。我正在处理一个页面,该页面可能嵌入到来自不同域的另一个页面中。我对 iframe 一无所知,除了我可以预测 src 属性的一部分。我可以检测“如果”它是嵌入的,但我真的需要知道它嵌入的偏移量。

我正在我的页面中进行一些位置计算(在这种情况下,它嵌入在 iframe 中)。无论它是否嵌入在所有当前浏览器中,它都很好用,但在 IE 7 中给我带来了问题。出于某种原因,jQuery 在 IE 7 中给我的偏移量与嵌入 iframe 偏移量的确切量不同。如果我能得到偏移量,我可以在这种情况下进行补偿。

提前致谢。

【问题讨论】:

  • 我认为这不可能。更好的解决方案是弄清楚为什么 IE7 会出现这个问题,以及是否有解决方案,因为这很可能是一条更容易/更清洁的路线。
  • 谢谢凯文。这可能是个好建议,但它可能超出了我的控制范围,看起来就是这样。

标签: javascript jquery internet-explorer-7 offset


【解决方案1】:

你可以用 JavaScript 做到这一点。

父框架

<html>
<body>
    <iframe src="childFrame.html"></iframe>
</body>
</html>

子框架

<html>
<body>
   Child Frame
</body>
<script type="text/javascript">
    alert(document.parentWindow.document.body.innerHTML);
</script>
</html>

关键位在这里“document.parentWindow.document.body”。现在您有了父正文,您可以访问 HTML 并获取所需的任何属性。

反之,您可以在 iframe 上使用 Sandbox 属性。查看下面的链接。不建议将此属性用于生产代码。

http://www.w3schools.com/tags/tag_iframe.asp

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-30
    • 2012-01-17
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    相关资源
    最近更新 更多