【问题标题】:JQuery event should change src of an iframeJQuery 事件应该改变 iframe 的 src
【发布时间】:2013-08-14 05:50:33
【问题描述】:

布局看起来像这样(或多或少):

我的索引页有两个 iframe,左侧用于导航,右侧用于实际内容。在导航的 html 文档中,我有一个小脚本 (JQuery),当您将鼠标悬停在按钮上/单击按钮时,它会为按钮设置动画。我当然需要补充的是,点击按钮实际上会改变第二个 iframe 的来源。(Content-Frame, id="I2")`

不管我在写什么,脚本都会中断,动画会丢失。

我有这样的想法:

window.document.GetElementById("I2").src = "Content/some_other_html_page.html";
// or:
parent.document.GetElementById("I2").src = "..." ;

但它只是行不通。该脚本在第一个 iframe 的 html 文档中被午餐。有人可以帮助我吗?昨天晚上我真的在那里坐了大约 2 个小时,只是在互联网上搜索结果并在我编辑的网页上按 F5。

【问题讨论】:

  • 尽量避免使用 iframe。您可以轻松移除 iframe 并使用两个 div 来实现您想要的结果。
  • 使用 div,然后使用它来设置它们的内容 - api.jquery.com/html
  • getElementById(),JavaScript 是区分大小写的语言。
  • 您好,我真的不明白您使用 div 代替 iframe 的意思。我可以使用 div 并将 .html-Doc 加载到其中吗? @getElementById() 是主题中的错字,抱歉。 ;)

标签: javascript html iframe window document


【解决方案1】:

用于更改 iframe 的 URL 你可以这样做

<input type="button" id="button" value="Chnageurl" onclick="changeurl()"/>
<script type="text/javascript">

    function changeurl(e) {
            $('#iframe').attr('src', 'someother url');
            return false;
        }

</script>

【讨论】:

    【解决方案2】:

    既然你已经包含了 jQuery,你可以使用:

    $("#I2", window.parent.document).attr("src", "Content/some_other_html_page.html");
    

    您必须使用上下文 window.parent.document 才能从其他导航 iframe 中选择 iframe。

    【讨论】:

    • 即使脚本在其他文档中启动也能正常工作吗?我现在必须去,但会尽快尝试结果。谢谢四你帮助@所有。 :)(最快响应的新记录。:D)
    • 对不起,我错过了文件是不同的。更正了我的答案。 ;-)
    • 我必须重新加载 iframe 内容吗?它并没有真正像这样工作,但至少,它确实继续执行脚本的其余部分。 :)(我已经失败了)
    • 不,实际上不需要重新加载。这是一个如何从 iframe 内部更改父页面属性的示例:css-arts.com/iframe_test/iframe_test.html 您只需用上面的代码替换我更改 iframe 高度的行。如果你不明白,请给我们一些代码。
    • 我发现了这个问题,这对其他人来说可能会很有趣。问题实际上是 chrome,它以某种方式阻止了我的脚本,因为它们存储在本地。它与firefox一起使用,但是IE却是像每次一样有问题的孩子。 (甚至我的 JQuery 动画都不能与 IE 一起使用)感谢您的帮助 :)
    猜你喜欢
    • 2014-02-23
    • 2011-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-01
    • 1970-01-01
    • 2014-06-19
    • 1970-01-01
    相关资源
    最近更新 更多