0

我正在使用 javascript 动态生成和更改我的网站的内容。
我正在通过 javascript 添加视频文件和 videojs-javascript-files 并通过调用_V_(videos[i].id);.
但是,初始化视频只能在第一次使用
当我更改网站内容然后再次移动到视频页面时,再次初始化视频(视频标签仍然具有相同的 id)不起作用。
浏览器的 HTML5 视频播放器在那里,但不是 videojs 风格的。

还有其他方法可以“强制”播放器初始化吗?什么可能导致这个问题?

这是我的脚本:

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);
        }
    }
}

非常感谢您!

4

2 回答 2

0

我知道已经很晚了,但是您可以尝试检查视频元素的子元素。例如,如果它已经包含类 vjs-poster 的 div,则什么也不做,否则初始化 video-js。

于 2014-01-06T10:57:07.333 回答
0

您是否尝试过创建一个新的视频元素并(重新)初始化它而不是重新使用以前的视频元素?

您还可以尝试使用新值“重置”所有内容、src、曲目、字幕等

于 2012-11-26T15:31:06.347 回答