2012-11-19 160 views
0

我使用javascript動態生成和更改我的網站的內容。
我正在通過javascript添加視頻文件和videojs-javascript-files,並通過調用_V_(videos[i].id);來初始化視頻。
但是,初始化視頻僅適用於第一次
當我然後改變網站的內容,然後再次移動到視頻頁面時,再次初始化視頻(視頻標籤仍然是相同的ID)不起作用。
瀏覽器的HTML5錄像機在那裏,但沒有videojs風格的。video.js:強制初始化已經手動初始化的視頻

有沒有其他方法可以「強制」播放器的初始化?什麼可能導致這個問題?

這是我的腳本:

videoPlayer = { 
    check: function() { 
     videos = document.getElementsByTagName("video"); 
     if (videos.length > 0) { 
      this.init(); 
     } 
    }, 
    init: function() { 
     if (isPlayer) { 
      //alert("init"); 
      for (var i = 0; i < videos.length; i++) var player = _V_(videos[i].id, {}, function() { 
       alert("player init!") 
      }); 
     } 
     else { 
      this.build(); 
     } 
    }, 
    build: function() { 
     //alert("build"); 
     if (isPlayer == false) { 
      var head = document.getElementsByTagName("head")[0]; 
      var videoScript = document.createElement('script'); 
      videoScript.type = 'text/javascript'; 
      videoScript.src = './min/g=videojs'; 
      var videocss = document.createElement('link'); 
      videocss.type = 'text/css'; 
      videocss.rel = 'stylesheet'; 
      videocss.href = './min/g=videocss'; 
      isPlayer = true; 
      videoScript.onload = this.init; 
      head.appendChild(videocss); 
      head.appendChild(videoScript); 
     } 
    } 
} 

非常感謝你提前!

回答

0

您是否嘗試過創建新的視頻元素並重新初始化它,而不是重新使用以前的視頻元素?

你也可以嘗試「重置」一切,SRC,音軌,字幕等新值

0

我知道這是相當晚了,但你可以嘗試檢查視頻元素的兒童。例如,如果它已經包含類vjs-poster的div,則什麼也不做,否則初始化video-js。