我在demo中销毁之前实例重新初始化,是ok的:
var handler = function () {
alert(12111);
}
var handler1 = function () {
alert(22222);
}
var player;
play(handler);
function play(handler) {
videojs("example_video_1",
{
"techOrder": ['html5', 'flash'],
fluid: true,
"controls": true,
"bigPlayButton": false,
flash: {
swf: 'js/swf/video-js.swf'
},
controlBar: {
muteToggle: false,
captionsButton: false,
chaptersButton: false,
playbackRateMenuButton: false,
LiveDisplay: false,
subtitlesButton: false,
remainingTimeDisplay: false,
progressControl: false,
volumeMenuButton: {
inline: false,
vertical: true
},//竖着的音量条
fullscreenToggle: false
}
}
, function () {
var id = $("#example_video_1").find("video")[0].id;
player = this;
player.src("http://180.97.83.70:30220/media/adinfo/2018/05/1920x1080_1.mp4");
player.play();
$("#example_video_1").find("button").show();
console.log(player.duration())
this.on('loadeddata', handler);
this.on('ended', function () {
this.pause();
})
});
}
setTimeout(function () {
player.dispose();
$("#bt").before('<video id="example_video_1" class="video-js vjs-default-skin" controls width="640" height="264"></video>')
play(handler1);
}, 3000);
但是自己的项目,第一次初始化可以,第二次先销毁再初始化,却初始化不了:
//video.js 初始化video
function playWithVideoJs(handler,url) {
var divFirst = $("#NER_EshowadvImgAdv_ad").parent().find("div")[0];
if (notNull(divFirst) && divFirst.id == "NER_EshowadvVideoAdv_ad") {
$("#NER_EshowadvImgAdv_ad").parent().find("div")[0].remove();
$("#NER_EshowadvImgAdv_ad").after('<video id="NER_EshowadvVideoAdv_ad" controls class="video-js vjs-default-skin vjs-big-play-centered vjs-fluid"></video>');
}
if (notNull(myPlayer1)) {
myPlayer1.dispose();
}
videojs('NER_EshowadvVideoAdv_ad', {
"techOrder": ['html5', 'flash'],
fluid: true,
example_option: true,
// "controls": false,
"bigPlayButton": false,
flash: {
swf: 'js/swf/video-js.swf'
},
controlBar: {
muteToggle: false,
captionsButton: false,
chaptersButton: false,
playbackRateMenuButton: false,
LiveDisplay: false,
subtitlesButton: false,
remainingTimeDisplay: false,
progressControl: false,
volumeMenuButton: {
inline: true,
vertical: false
},//竖着的音量条
fullscreenToggle: false
}
}, function () {
myPlayer1 = this;
var videoID = $("#NER_EshowadvVideoAdv_ad").find("video")[0].id;
$("#" + videoID).prop("src", url);
// $("#NER_EshowadvVideoAdv_ad").find("button").off("click").on("click", function () {
$("#NER_EshowadvVideoAdv_ad").find("video")[0].play();
// });
//暂停--播放完毕后也会暂停
this.on('loadedmetadata', handler);
});
}
这是什么问题啊?第一次用video.js,跪求大神指点,谢谢...
你的销毁应该是把video标签给移除了