2011-04-08 68 views
0

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

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>

回答

0
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; 
} 
0

您可以使用此代码:

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