0
  • 如何在 iFrame 中获取 jQuery 以在父级中调用 jQuery 函数?

这是 iFrame 的代码

<script>
    $(document).ready(function (){

        $("#Hey").click(function ()
        {

            parent.WorkPlease(); // does not work
                   window.parent.WorkPlease(); // also does not work
                   // Both hosted on same domain

        });
    });
</script>

这是托管 iFrame 的父页面上的 jQuery

<script type="text/javascript">
$(document).ready(function(){

    function WorkPlease()
    {
$('html,body').animate({scrollTop: $("#iFrame").offset().top}, 5000);// 
    }
});
</script>
4

1 回答 1

3

您可以从 访问父级的 DOM iframe,但在同一个域中。这似乎是你的情况。

您的代码的问题在于该workPlease函数被定义为您传递给document ready事件处理程序的匿名函数的局部变量,而不是在window父页面本身的对象中。

尝试:

$(document).ready(function(){

    window.workPlease = function()
    {
        $('html,body').animate({scrollTop: $("#iFrame").offset().top}, 5000);// 
    }
});
于 2013-01-18T02:28:44.803 回答