当我重写。aspx视频流页面的嵌入参数时,我试图强制重新加载iframe(作为var)。基本上,我在。aspx页面上有3个iframe,它们使用相同的。aspx页面源。这些iframe可能在焦点中,也可能不在焦点中,但是使用. live click(在缩略图集上)触发,Jquery中的.next函数处理依赖于缩略图旁边的下一个DOM元素的交换。VAR 'img'可能是img或IFRAME,所以我需要先测试VAR是否为IFRAME,如果是,则强制重新加载源。问题是,我们基本上是在改变Iframe SRC页面(.aspx)上的参数,这反过来远程加载视频,然后最终反映在主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>
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;
}
您可以使用以下代码:
if(img.is('img'))img.attr('src', img.attr('src'));
else img[0].contentDocument.location.reload();