【问题标题】:Focus on an element inside an iFrame onLoad?关注 iFrame onLoad 中的元素?
【发布时间】:2011-08-19 20:16:53
【问题描述】:

所以我有一个包含表单的 iFrame。我希望页面在页面加载时专注于输入元素“foo”。有没有办法做到这一点?

【问题讨论】:

  • 这就是你所追求的吗? stackoverflow.com/questions/369026/…
  • 不,我希望专注于 iframe 内部的元素,而不是 iframe 本身
  • 在上面的例子中,你可以使用元素 id/name 代替 contentWindow
  • :真的吗?谢谢!现在就试试!

标签: javascript html


【解决方案1】:

如果您的 iframe 具有与父文档相同域的 src 属性,那么很简单:

<iframe src=" ... " onload="document.getElementById('foo').focus();"></iframe>

但如果不是,那么您的“同源策略”有问题:

1. 如果您有权修改 iframe 中的文档(我的意思是如果您可以在其中添加一些 javascript 代码),这有点棘手但可能(这里有一篇很好的文章:http://softwareas.com/cross-domain-communication-with-iframes
2. 如果您的 iframe 中有一个 3-rd 方网站,那么它是不可能
(唯一的方法是使用一些 dns+document.domain 技巧,但它们非常丑陋)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-23
    • 2013-02-17
    • 2012-04-05
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    • 2012-09-06
    相关资源
    最近更新 更多