Javascript 如何删除多个mediaelement.js播放器?
我需要“手动”从页面中删除多个mediaelement.js播放器 我试过了:Javascript 如何删除多个mediaelement.js播放器?,javascript,mediaelement.js,Javascript,Mediaelement.js,我需要“手动”从页面中删除多个mediaelement.js播放器 我试过了: video_player_1.remove(); video_player_2.remove(); video_player_3.remove(); ... if (mejs) { var players = Object.keys(mejs.players); players.forEach( function(player) { mejs.players[player].r
video_player_1.remove();
video_player_2.remove();
video_player_3.remove();
...
if (mejs) {
var players = Object.keys(mejs.players);
players.forEach( function(player) {
mejs.players[player].remove();
});
}
mejs.players = {};
mejs = {};
(并以各种循环方式尝试上述操作,试图删除所有玩家。)
和:
video_player_1.remove();
video_player_2.remove();
video_player_3.remove();
...
if (mejs) {
var players = Object.keys(mejs.players);
players.forEach( function(player) {
mejs.players[player].remove();
});
}
mejs.players = {};
mejs = {};
和:
video_player_1.remove();
video_player_2.remove();
video_player_3.remove();
...
if (mejs) {
var players = Object.keys(mejs.players);
players.forEach( function(player) {
mejs.players[player].remove();
});
}
mejs.players = {};
mejs = {};
甚至:
video_player_1.remove();
video_player_2.remove();
video_player_3.remove();
...
if (mejs) {
var players = Object.keys(mejs.players);
players.forEach( function(player) {
mejs.players[player].remove();
});
}
mejs.players = {};
mejs = {};
似乎没有什么能完全消除玩家和与他们相关的任何事件。当我导航回视频页面时,出现以下错误:
TypeError: 'undefined' is not a function (evaluating 'video_player_1.addEventListener')
还有其他人遇到过这个问题并找到了解决方案吗?谢谢你的帮助
编辑:
我应该注意的是,在创建每个播放器时,我向其添加了以下侦听器:
video_player_1.addEventListener('ended', function(event) {
//Code that advances to the next video here ...
}
假设您使用,这可以正常工作:
var player = $('#player')[0].player;
player.remove();
在此基础上,这将删除视频元素上的所有MEJ实例:
(function($) {
$(document).ready(function() {
var mejs_players = new Array();
var player;
$('video').each(function() {
player = $(this)[0].player;
player.remove();
});
});
})(jQuery);
测试了最新代码后,删除功能应更改为
$('video').each(function() {
player = $(this).data("mediaelementplayer");
alert(player);
player.remove();
});
尝试从DOM中删除元素,并将player变量设置为nullHi@Hardy,我正在这样做。包含视频的“页面”通过$.load()加载,并使用$.empty()删除(这也会从DOM中删除元素)。