2010-04-21 93 views
3

我正在製作一個有兩個Youtube視頻的網站。這些視頻使用來自Youtube的原始嵌入代碼。該網站的設計不適用於任何默認的Youtube大小,因此我正在編寫代碼以自動調整視頻大小。這是我的代碼。頁面上永遠不會超過這兩個標籤,否則我會更好地選擇視頻。更改<object>高度和寬度適用於Chrome,但不適用於Firefox或IE。爲什麼?

<script language='JavaScript' type='text/javascript'> 
var x=document.getElementsByTagName('object'); 

x.[0].width='350'; 
x.[0].height='350'; 
x.[1].width='350'; 
x.[1].height='350'; 

</script> 

僅供參考,這裏有一個樣本默認的Youtube嵌入該代碼可能改變:

<object width="480" height="385"> 
<param name="movie" value="http://www.youtube-nocookie.com/v/zSgiXGELjbc&hl=en_US&fs=1&rel=0"></param> 
<param name="allowFullScreen" value="true"></param> 
<param name="allowscriptaccess" value="always"></param> 
<embed src="http://www.youtube-nocookie.com/v/zSgiXGELjbc&hl=en_US&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed> 
</object> 

在Chrome中,視頻播放器在350x350盒子坐在完美。在IE和FF(最新版本)中,視頻保持不變,正常大小。我無法在Google中找到任何解釋爲什麼這不起作用的內容。我曾嘗試使用setattribute,for循環,調整兩者和單引號和雙引號等。

任何想法發生了什麼問題?

回答

2

Firefox使用的值「嵌入'不只是重視'對象'標籤 - 可能需要更換兩者以確保

+0

這就是答案。非常感謝! – Michael 2010-08-19 17:47:27

0

首先,你必須寫x[0]不是x.[0]。 如果不工作,我也有兩個更多的想法:

(1)

x[0].width='350px'; 
x[0].height='350px'; 
x[1].width='350px'; 
x[1].height='350px'; 

(2)

x[0].style.width='350px'; 
x[0].style.height='350px'; 
x[1].style.width='350px'; 
x[1].style.height='350px'; 
+0

感謝您的想法,但沒有任何改變。這非常令人困惑。 – Michael 2010-04-21 19:16:31

+0

其他人有沒有想法?我仍然試圖弄清楚這一點。 – Michael 2010-05-10 18:36:05

0

這是x[0].style.width

寬度,高度,顯示等是對象樣式的所有屬性。

我寫x[0].style.width = 350 + px

還要注意,無論你的目標和你的嵌入有內聯指定的尺寸,以及那些可能會替代你的JS,根據瀏覽器/版本。

相關問題