測試的時候發(fā)現(xiàn)一個通過iframe加載視頻頁面時會出現(xiàn)第二次打開的時候視頻加載不出來。stackoverflow查了很久發(fā)現(xiàn)是緩存的問題,第二次加載firefox會直接用緩存,導致頁面打不開,后來看到網(wǎng)上有人說每次都生成一個隨機的后綴參數(shù),欺騙瀏覽器,但是發(fā)現(xiàn)沒什么使用,服務端發(fā)送no-cache也沒啥用。后來自己手動在iframe里點了一下重新加載視頻是加載出來了,那我想是不是等頁面刷新了,我做一個判斷就可以了,視頻如果沒加載出來,height是0,就可以直接刷新頁面,如果大于0就不做操作。
然后用以下代碼完美解決問題。
function () {
setTimeout(
function() {
if($('video',$('iframe').get(0).contentWindow.document).outerHeight()===0)
$('iframe').get(0).contentWindow.location.reload();},500
)
}