我的网站上有一个容器,只要点击某种类型的链接,我就可以通过 jQuery Ajax/XHR
动态注入新内容。
对于某些网页,此容器包含一个网格,其中包含多个 HTML5 <video>
元素循环播放。
在某个时刻,我经历了一些XHR requests
之后性能下降,这会取代容器内的内容。取消我的视频后,我只通过来自我的扬声器的音频识别他们实际上正在播放,即使它们已从DOM
完全删除(这意味着我播放了大量视频)在我的容器中进行了几次XHR
替换后,视频实际上不在DOM
中。
我现在尝试了一些事情,但似乎没有任何帮助:
remove()
之前的所有视频中使用 jQuery 。XHR request
在我注入新内容之前删除DOM
中的视频Javascript
暂停视频这似乎只是随机工作,这让我发疯。有时,一些或者一些视频会在关闭时播放,与新视频内容重叠。此外,它们没有出现在Chrome DevTool的网络选项卡中......
我觉得由于缓冲的东西只是经典DOM-querying
而且操作在这里不起作用...任何暗示我可以放入我的前XHR请求函数以确保任何当前{{1}来自<video>
(和关闭,在缓冲区和其他地方)的内容真的被100%删除,换句话说'被杀'?
编辑:以下是我的问题的简化演示,请尝试点击与DOM
div
{{交换ID
内容的链接3}} http://www.letrip.de/html5video-problem/
您可以通过将/js/app.js添加到网址来查看Javascript
答案 0 :(得分:0)
将视频添加为模板..并将此模板分配给变量并使用它,当您要删除它时将其设为null。
实施例。 Var vdo =
进行操作然后将其设为空
Vdo = null;
答案 1 :(得分:0)
变化:
var content = $(data).find('#content'); html = content.html(); $('#content').html(html);
到:
var = content = $("#content",data); $('#content').html(content);
祝你好运
<强>更新强> 一旦你这样做:$(数据)问题将返回。 尝试这样做以返回标题:
var titledata = data.match("(.*?)")[1]; console.log(titledata);