【问题标题】:Jquery plugin to work with frames使用框架的 Jquery 插件
【发布时间】:2011-03-30 11:33:38
【问题描述】:

我正在寻找便于跨浏览器帧处理的 jquery 插件。 例如,我有以下用例:

$('#my-frame').ready(...);
$('#my-frame').scroll(...);
var x = $('#my-frame').scrollTop();

你能推荐一个帧处理的好插件吗?

【问题讨论】:

    标签: javascript jquery frame


    【解决方案1】:

    不知道你所说的“跨浏览器帧处理”是什么意思,但如果你想要 jQuery 或 javascript 来修改包含来自不同主机的页面的帧的内容 - 这是不可能的。

    【讨论】:

    • 我的意思是“同一主机”案例。
    【解决方案2】:

    $() 接受第二个参数“context”,这可能是一个节点,也可能是一个文档(例如框架内的文档)

    这样你就不需要插件了。

    调用可能看起来像

    $('body',$('#my-frame')[0].contentDocument)
    

    【讨论】:

    • 您确定$($('#my-frame')[0].contentDocument).scrollTop() 是跨浏览器吗?我问是因为 iframe contentDocument 不是跨浏览器,我们应该在 jquery 的 contents() 函数中使用 elem.contentDocument || elem.contentWindow.document
    • 例如 $($('#my-frame')[0].contentDocument).scroll(function(){...}); 在 IE 中不起作用,但在 FF 中起作用。但是$($('#my-frame')[0].contentWindow).scroll(function () { ... }); 在 FF 和 IE 中工作。
    • 你需要一个插件来处理这种简单的情况吗?
    猜你喜欢
    • 2011-08-15
    • 2017-03-07
    • 2012-11-22
    • 1970-01-01
    • 2013-04-02
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多