2014-06-29 77 views
0

當我在瀏覽器中打開頁面時,有時視頻無法加載,而且如果我刷新頁面,視頻永不加載,我該如何解決這兩個問題?將javascript用於視頻源到HTML5視頻播放器

這是我的視頻播放器的HTML

<video width="320" height="240" controls> 
       <source id="audioFile" src="" type="video/mp4"> 
       Your brow 

這是javascript代碼從URL中獲取的視頻文件的名稱

function getUrlParameters(parameter, staticURL, decode){ 
      var currLocation = (staticURL.length)? staticURL : window.location.search, 
      parArr = currLocation.split("?")[1].split("&"), 
      returnBool = true; 
      for(var i = 0; i < parArr.length; i++){ 
       parr = parArr[i].split("="); 
       if(parr[0] == parameter){ 
        return (decode) ? decodeURIComponent(parr[1]) : parr[1]; 
        returnBool = true; 
       }else{ 
        returnBool = false; 
       } 
      } 
      if(!returnBool) return false; 
     } 
     var parameter = getUrlParameters("audioFile", "", true); 
     document.getElementById('audioFile').src = parameter; 
     document.getElementById('url').content = parameter; 
+0

你問如何改變src? – DividedByZero

+0

不,我問如何解決視頻問題,有時不刷新頁面。 – Sami

+1

設置完'src'後,嘗試運行'document.getElementById('video')。load()' – brianchirls

回答

1

動態修改source元素其元素已插入到videoaudio元素中時的屬性將不起作用。要改變耍什麼,只需要使用媒體元素直接< ...在src屬性>

The source element

要麼改變video元素的src屬性(這將隱式調用load()法) :

var parameter = getUrlParameters("audioFile", "", true); 
document.querySelector('video').src = parameter; 

或致電load()法明確:

var parameter = getUrlParameters("audioFile", "", true); 
document.getElementById('audioFile').src = parameter; 
document.querySelector('video').load();