2010-06-30 112 views
0

我有這個代碼,只能在firefox中工作。JavaScript不工作在鉻/歌劇/ IE瀏覽器,但Firefox是優秀的!

<script type="text/javascript"> 
    function setVideo(url){ 
     url = url.replace("watch?v=","v/","i"); 
     var movie = document.getElementById('movie'); 
     movie.setAttribute('src',url+"&hl=en&fs=1&"); 
     var param = document.getElementById('paramm'); 
     param.setAttribute('value',url+"&hl=en&fs=1&"); 
    } 
</script> 

<object width="425" height="344"> 
      <param name="movie" id="paramm"></param> 
      <param name="allowFullScreen" value="true"></param> 
      <param name="allowscriptaccess" value="always"></param> 
      <embed id="movie" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344" src=""></embed> 
     </object> 

<a href="#" onclick="setVideo('http://www.youtube.com/watch?v=3h1qQaRxY40')">example</a> 

請幫忙,我不知道,這是一個這麼簡單的腳本,爲什麼它不工作? 謝謝

+1

這段代碼應該做什麼?什麼不行?你得到什麼錯誤信息? – 2010-06-30 11:49:16

回答

3

你沒有提供任何錯誤信息,所以很難說需要修正什麼...

有一件事我沒有注意到的是,對於「替換」方法使用非標準語法。

https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/String/replace的解釋和替代

+0

...或者查看所有JavaScript引擎所基於的[String.replace的ECMAScript規範](http://ecma262-5.com/ELS5_Section_15.htm#Section_15.5.4.11)。 – 2010-06-30 12:01:25

+0

對不起,在其他瀏覽器比firefox的視頻是空白..沒有視頻 – Adriana 2010-06-30 12:43:31

2

你或許應該使用類似的SWFObject(http://code.google.com/p/swfobject)嵌入在setVideo函數被調用整個Flash對象 - 不只是改變的URL。 IE和chrome可能不會識別這種變化。

1

請勿將setAttribute與值一起使用。它被cause problems所知道。

function setVideo(url){ 
    url = url.replace("watch?v=","v/"; 
    var movie = document.getElementById('movie'); 
    movie.src = url+"&hl=en&fs=1&"; 
    var param = document.getElementById('paramm'); 
    param.value = url+"&hl=en&fs=1&"; 
} 
相關問題