var myVid = document.getElementById("movie");
myVid.onloadeddata = console.log("Browser has loaded the current frame");
這不符合你的期望。你沒有綁定到myVid.onloadeddata
的函數,你立即執行console.log()
,並將其返回值設置爲myVid.onloadeddata
。
正確的方式做到這一點,就是:
myVid.onloadeddata = function() {
console.log("Browser has loaded the current frame");
}
因此,這可以解釋爲什麼這將輸出的東西在您的控制檯。
開以loadeddata
:
的definition of loadeddata
是:
用戶代理可以在用於第一時刻 當前播放位置呈現媒體數據。
在略小於正式講,這意味着:「用戶代理可以呈現實際視頻的至少一幀」。
在我的Firefox錯誤控制檯我看到這些錯誤:
Specified "type" attribute of "video/mp4" is not supported. Load of media resource fliege.mp4 failed.
HTTP load failed with status 404. Load of media resource http://www.x.opteynde.com/fliege.ogv failed.
All candidate resources failed to load. Media load paused.
顯然,火狐無法呈現從它不能加載視頻的幀,所以這404似乎是你的問題。
P.S.
另請注意,在您點擊'播放'按鈕之前,您不會觸發this exampleloadeddata
。
是的這就是爲什麼我一定要提到你的答案。我只是在延伸。 Gj btw – SpYk3HH
對不起,這不是我的問題。我知道如何添加一個函數,如myVid.onloadeddata ... 這很好用:myVid.onloadeddata = console.log(「Browser has loaded the current frame」); 問題是:爲什麼addEventListener不起作用。 – hamburger
@hamburger那麼,你發佈的代碼是不正確的,並且(和404一起)很可能是你混淆的源頭。 – Carpetsmoker