【发布时间】:2019-04-18 09:44:53
【问题描述】:
我有一个使用 blob 显示视频的块,我只想将视频隐藏到 devtools 网络中。
这是我迄今为止尝试过的
<video id="videoplayer" playsinline autoplay controls>
<source src="" type="video/mp4">
</video>
window.onload = function() {
var xhr = new XMLHttpRequest();
xhr.open('GET', '/videos/mena.mp4', true);
xhr.responseType = 'blob'; //important
xhr.onload = function(e) {
if (this.status == 200) {
console.log("loaded");
var blob = this.response;
var video = document.getElementById('videoplayer');
video.oncanplaythrough = function() {
console.log("Can play through video without stopping");
URL.revokeObjectURL(this.src);
};
video.src = URL.createObjectURL(blob);
video.load();
}
};
xhr.send();
}
上面的函数完全按照我的意愿在下面生成这个链接:
blob:http://localhost:8080/bb58f8d4-a5b8-43e2-99f4-7a4a7bbfe60c
如果您访问 youtube 视频并检查视频,则 devtools 中没有显示链接
如何在 devtools 网络中隐藏 mp4 链接?
【问题讨论】:
-
无法隐藏浏览器从开发工具发出的任何请求。
-
youtube 是如何做到这一点的?检查我对我的问题的更新
-
Youtube 不管理它:i.imgur.com/JN9kcMI.png。所有
videoplayback?...调用都是检索视频数据的分块部分的调用。可能数据已缓存在您正在观看的视频中,因此没有拨打电话。 -
Rory 如果您打开该视频播放会显示如下内容:youtube.com/… 无法通过 devtools 直接访问视频
-
您可能会觉得这个答案很有趣:How to get direct url for youtube videos。该代码“直接从任何浏览器中可用的开发工具控制台工作”。我得到这样的链接:
https://r2---sn-a5mlrnes.googlevideo.com/videoplayback?signature=...
标签: javascript jquery html html5-video blob