【问题标题】:Force Load (Reload) a VAR that may be an IFrame using Jquery使用 Jquery 强制加载(重新加载)可能是 IFrame 的 VAR
【发布时间】:2011-04-08 20:56:42
【问题描述】:

当我重写 .ASPX 视频流页面的嵌入参数时,我试图强制重新加载 iframe(作为 var)。本质上,我在 .ASPX 页面上有 3 个 iframe,它们使用相同的 .ASPX 页面源。这些 iframe 可能会或可能不会在焦点上,但使用 .LIVE 单击(在缩略图集上)触发,并且 Jquery 中的 .next 函数处理依赖于缩略图旁边的下一个 DOM 元素的交换。 下面:VAR 'img' 可能是 IMG 或 IFRAME,所以我需要先测试 VAR 是否是 iframe,如果是,则强制重新加载源。问题是我们实际上是在更改 Iframe SRC 页面 (.aspx) 上的参数,该页面反过来远程加载视频,然后 ultimatley 反映在主 Iframe 中。我的 jquery/js 没有应有的强大,所以请善待你的回应。提前致谢。 :)

JQuery 代码段:

$('.workThumbnails img').live('click', function () {
                $('img', $(this).parents('.workThumbnails')).toggleClass('whiteBorder', false);
                $(this).toggleClass('whiteBorder', true);
                var img = $(this).next('iframe,img');
                var work = $(this).parents('.ourWork');
                $('.workContent *', work).fadeTo('slow', 0.0, function () {
                    $('.workContent', work).empty();
                    $('.workContent', work).append(img.clone());
                    $('.workContent *', work).fadeTo('slow', 1.0);
                });
            });

HTML 片段:<iframe width="675" height="379" src="../../video.aspx?vid=448679&cid=1c0b792573224ebcb925e5306b333907" frameborder="0"></iframe>

【问题讨论】:

    标签: jquery


    【解决方案1】:
    var img = $(this).next('iframe,img'); // I would consider renaming this variable
    if(img.is('iframe')){
        img.load(function(){ /* callback */ });
        img.contents().get(0).location.reload();
        return;
    }
    

    【讨论】:

      【解决方案2】:

      您可以使用此代码:

      if(img.is('img'))img.attr('src', img.attr('src'));
      else img[0].contentDocument.location.reload();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-12
        • 2015-09-12
        • 1970-01-01
        • 2011-05-14
        • 1970-01-01
        • 2014-01-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多