【问题标题】:Execute jQuery once document is ready AND iframe content is loaded文档准备好并加载 iframe 内容后执行 jQuery
【发布时间】:2013-04-27 15:16:07
【问题描述】:

正如您在此页面上看到的http://musicglaze.com/chase-status-let-you-go-feat-mali-feed-me-remix/#comments
评论部分不合适,经过研究我了解到这是因为负责样式的插件(http://masonry.desandro.com/)在内部被调用

$(document).ready(function(){

});

功能。然而,之后内容被加载到 iframe 中,因此改变了它的高度,但是由于插件考虑到它的原始高度而没有内容,所以一切都搞砸了。有什么我可以使用的类似于这个伪代码的东西吗?

Document ready AND iframe content loaded {

//My jQuery code

}

【问题讨论】:

标签: javascript jquery iframe jquery-masonry


【解决方案1】:

使用$('#iframeId').load(function() { ... }); 而不是onReady。根本问题是允许父框架访问 iframe 的内容存在跨域安全风险,因此 onReady 不可用,但 onLoad 仍然可以访问。更多详情请见:http://www.nczonline.net/blog/2009/09/15/iframes-onload-and-documentdomain/

【讨论】:

    【解决方案2】:

    同样的 ready() 函数

    $(document).ready(function() {
        $('#frameId').ready(function() {
        ...
        });
    })
    

    【讨论】:

    • 嗨,似乎没有解决问题,我对您的代码所做的唯一区别是使用所有 iframe,而不是一个具有特定 ID $('iframe').ready(function() { 的 iframe,但 cmets 部分不在位置
    • 确实这似乎不起作用。不过,.load 的答案效果很好——现在应该是被接受的答案了。
    猜你喜欢
    • 1970-01-01
    • 2015-07-12
    • 2013-01-09
    • 2013-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多