2013-10-08 59 views
2

我收到只有IE8/IE7與videoJS 4.1x和4.2x的腳本錯誤。Video.js this.tech is undefined IE8

線3357(在當前的4.2.1):

this.tech.one('mousemove', function(e){ 
    e.stopPropagation(); 
    e.preventDefault(); 
}); 

的動畫工作無論如何,但這個錯誤使得它很難看到別的東西弄亂了,我們正在任何其他錯誤。

+0

我不是唯一一個對此抱怨的人,文檔中沒有任何內容可以解釋這一點。那爲什麼不回答這個問題。爲什麼代碼重複拋出一個錯誤,搞亂了調試器,而不是正確地做到這一點。 – GeeWhizBang

回答

0

不是一個適當的解決方案,但同時你可以通過創建一個虛擬的技術對象,當它是未定義的,以防止出現這些錯誤。

var player = videojs(
    // ... 
); 

if (!player.tech) { 
    player.tech = { 
     one: function() {}, 
     ready: function() {} 
    }; 
} 

澄清:在我的情況下,與this.tech錯誤出現在不安裝Flash,而這是他們唯一的可能性(IE8及以下)的瀏覽器。所以我認爲技術基本上是空的,因爲什麼都沒有。