2010-04-20 66 views
1

工作,我有一個YouTube視頻是這樣的...CSS隱藏Youtube影片不是在IE

<object id="video_1" class="a_video ....... 

然而,對於a_video的CSS:

display:none; 

是不是在IE中隱藏它。

任何人都知道如何在IE中隱藏嵌入的YouTube視頻?

+4

你有沒有嘗試將視頻放入'div'並將其設置爲'display:none'? – 2010-04-20 16:58:55

+0

你可以發佈你的HTML和你的CSS隱藏IE瀏覽器?如果你使用這些,任何條件樣式表都包含在內。 – hunter 2010-04-20 18:08:18

回答

1

如果我沒記錯的話,我以前也有這個問題。儘管我的視頻將停止顯示,但我仍然可以聽到它會繼續在後臺播放。我使用的解決方案是完全刪除它,並在需要時將其返回。

像這樣:

(function($){ 
    $(function(){ 
    var videoCode = $('object').parent().html(); 
    $('#toggleButton').bind('click',function(e){ 
     if($('object').length) { 
     $('object').remove(); 
     } else { 
     $("#container").append(videoCode); 
     } 
    }); 
    }); 
})(jQuery);​ 

這個函數做幾件事情。首先,它設置相關的視頻(對象)到一個變量,因此它可以記住它的HTML代碼。然後,它給了一個按鈕顯示/隱藏視頻的能力(我假設這是預期的行爲)。所以,當按鈕被點擊時,它會檢查當前視頻是否在頁面中,如果是,則將其從DOM中移除,如果不是,則將存儲的HTML重新應用到視頻的容器。

下面是與去的HTML:

<div id="container"> 
    <object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/hQVTIJBZook&hl=en_US&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/hQVTIJBZook&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object> 
    </div> 
    <a href="#" id="toggleButton">Toggle Video</a> 
+0

您的'videoCode'不包含''標記,因此您不會在下次檢查視頻時檢測到視頻,還是我錯了? – krizajb 2012-11-10 22:31:00

+1

'var videoCode = $('#container')。html(); 「應該工作,如果我錯過了某些東西,請不理我;) – krizajb 2012-11-10 22:46:08

+0

更新了代碼。使用'$('object')。parent()。html()'比專門選擇'#容器'元素更好,因爲它更靈活(儘管選擇帶有提供的標記的容器可以正常工作)。 – RussellUresti 2012-11-12 16:05:52

0

我已經看到了這個IE8的錯誤。如果你指出overflow:隱藏在有問題的塊元素上,這應該會有效果。您可能需要將Youtube嵌入代碼放在某處。