我们正在创建一个chrome扩展来下载视频,目前我有这个功能:
function downloadvideo(video)
{
const url = URL.createObjectURL(video.captureStream());
const aelem = document.createElement('a');
document.body.appendChild(aelem);
aelem.setAttribute("href",url);
aelem.setAttribute("download","video.mp4");
aelem.click();
//URL.revokeObjectURL(url);
}
这里的video
参数是一个html5视频元素,我之所以使用caputreStream
,是因为一些网站(特别是youtube)使用了blob url,这些url显然是被撤销的,所以我从MediaStream
创建了一个新的Blob url。
上面的函数作为视频的onloadeddata
事件的一部分执行。
对话框显示,文件名是正确的,但是当我点击“保存”时,chrome显示“失败:找不到文件”。
那么如何让它真正起作用呢?
顺便说一句,我试图对url
做ajax,但是chrome拒绝了,并显示了这样的消息:“跨源只支持http,https,chrome,chrome-extension”:3 .
https://stackoverflow.com/questions/43584205
复制相似问题