【问题标题】:Change div text in parent of iframe?更改 iframe 父级中的 div 文本?
【发布时间】:2013-01-19 16:03:52
【问题描述】:

我正在尝试更改父 iframe 中以下 div 中的文本。

(我在 iframe 中运行代码)

<div class="hello1">I want to change this</div>

我怎么能做到这一点?

我试过了:

$("body #hello1", top.document).text("HELLO");

但我得到这个错误:

不安全的 JavaScript 尝试访问框架

有什么想法吗?

【问题讨论】:

  • 你在 'document' 中留下了最后一个 't'
  • 已编辑,是我的问题中的错字:) 仍然是同样的错误
  • 如果知道要寻址的帧号,可以使用parent.frames[#]

标签: jquery


【解决方案1】:

当您在 iframe 中触发 click 事件并且用户测试了提交按钮时,您需要更改父框架边框文本时,我也使用了以下解决方案:

<script>
$("button").click(function(){
    if ($('.email').val() !== 'Enter Your Best Email'){
        $('.x_out', top.document).text('<< Back to the main page');
        }
});
</script>

测试提交按钮一次后,系统会提示用户“!请填写此字段”。通过 HTML5 onclick="validate();"

在第二次测试提交按钮时,包围 iframe 的边框在关闭链接中的文本发生变化,以引导它们返回主页面(即关闭链接关闭 iframe,单击 iframe 中的按钮会更改此文本在父框架中)。

【讨论】:

    【解决方案2】:

    div 有一个 hello1 类,您编写的代码试图访问 id hello1。改成这个 -

    $(".hello1", top.document).text("HELLO");
    

    【讨论】:

    • 关于不安全的 JavaScript 尝试访问框架的错误仍然相同
    • 我进行了编辑 - 请尝试一下。父级和 iframe 是否在同一个域中?
    • 还是一样:/不安全的 JavaScript 尝试访问框架...域、协议和端口必须匹配。
    • 忘了说这是一个小部件:)
    • 然后你会得到同源策略错误,这似乎是。它在这里覆盖得很好 - stackoverflow.com/questions/4324108/…
    猜你喜欢
    • 2016-09-25
    • 1970-01-01
    • 2021-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    相关资源
    最近更新 更多