0

我的网站上有一个容器,每当单击某种类型的链接时,我都会通过jQuery动态注入新内容。 Ajax/XHR

对于某些页面,此容器包含一个网格,其中包含多个循环播放的HTML5元素。 <video>

XHR requests在某些时候,我在更换容器内的内容之后经历了越来越多的性能下降。取消我的视频静音后,我仅通过来自扬声器的音频认识到它们实际上仍在播放,即使它们已完全从'不在了)。DOMXHRDOM

我现在尝试了一些事情,但似乎都没有帮助:

  • 使用jQuery 的. 在我注入新内容之前从remove()所有视频XHR request中删除视频DOM
  • Javascript在加载新内容之前暂停视频

这似乎只是随机工作,这让我发疯。有时,某些或所有视频会从某个地方开始播放,与新的视频内容重叠。此外,它们没有出现在 Chrome DevTool 的网络选项卡中……</p>

我有一种感觉,由于缓冲的东西只是经典的DOM-querying,而操作在这里不起作用……任何关于我可以放入我的 pre-XHR 请求函数中的提示,以确保来自(和关闭,在缓冲区和其他地方的任何当前<video>内容)DOM) 真的是 100% 被删除,换句话说“被杀”了吗?

编辑:这是我的问题的简化演示,尝试单击divID #content http://www.letrip.de/html5video-problem/

您可以通过将 /js/app.js 添加到 URL 来查看 Javascript

4

2 回答 2

0

将视频添加为模板..并将此模板分配给变量并使用它,当您要删除它时使其为空。

前任。变量 vdo=

做你的操作,然后让它为空

Vdo =空;

于 2017-09-21T15:05:20.673 回答
0

改变:

    var content = $(data).find('#content');
    html = content.html();
    $('#content').html(html);

到:

     var = content = $("#content",data);
     $('#content').html(内容);

最好的祝福

更新 只要你这样做: $(data) 问题就会回来。尝试这样做以返回标题:

     var titledata = data.match("(.*?)")[1];
     console.log(titledata);

于 2017-09-22T13:23:30.753 回答