2013-03-26 28 views
0

我使用VideoJS,CDN託管版本工作正常,但我希望使用VideoJS離線和修改CSS,所以我自己託管。VideoJS標題導致未定義的錯誤

我在videojs.js得到一個未定義的錯誤:

this.player.textTrackDisplay.addComponent(this); 

我知道我的captions.vtt文件是正確的,因爲它與演示html文件的工作。我的標記:

<div id="mainVideoList"> 
     <video id="mainVideoOne" class="video-js vjs-default-skin" width="956" height="538" autoplay preload="auto" loop data-setup="{}"> 
      <source type="video/mp4" src="assets/Penguins.mp4"> 
      <track kind="subtitles" src="src/videojs/captions.vtt" default> 
     </video> 
    </div> 

視頻播放正常,但錯誤被拋出,沒有標題顯示。

謝謝。

編輯:只有當我將字幕設置爲默認,並且控件不可見時,纔會引發該錯誤。

+0

爲什麼不繼續使用CDN版本,包括您的在包含原始videojs CSS後自己擁有'custom-videojs.css'文件?這樣,你可以有自定義CSS並繼續使用CDN。雙贏。 – 2013-03-26 14:05:32

+0

因爲該網站必須脫機運行而沒有與外部世界的連接。 – mrEmpty 2013-03-26 14:11:04

+0

這是完全有道理的。然後CDN不起作用。你的問題表明它是CSS相關:*但我希望修改CSS,所以我自己託管這個。* – 2013-03-26 14:18:03

回答

0

不幸的是,你正在尋找的章節功能不(還)在videojs 4.x版本的工作 - 這是一個已知的問題:

https://github.com/videojs/video.js/issues/676

舊3.x的版本工作,但是。我已經成功地使用v3.2來傳送帶有章節的視頻(甚至在IE6中工作) - 但是較早版本的播放器既不可訪問也不響應(沒有額外的努力)。

要迅速與遺漏的類型錯誤(沒有足夠的時間來處理這個更徹底)處理,添加以下創可貼:

if (typeof component === 'undefined') return; 

的功能

vjs.Component.prototype.addChild 

剛在行之前:

this.children_.push(component); 

(在我使用的非縮小版本的v4.3中,這將是在線1660附近)。

這顯然沒有修復破碎的章節功能,但會捕獲拋出的錯誤。

我建議檢查不時這個環節,因爲似乎(終於)是在過去的幾個月內,在這個問題上一些進展:https://github.com/videojs/video.js/issues/676

相關問題