如何解决GPlayer chrome 扩展 - 添加视频播放
有些人可能已经注意到,GMail CSP 不再允许播放音频或视频文件。起初它影响了 Chromium 浏览器,但即使是 Firefox 也不再允许它。所以我制作了一个 Google Chrome 扩展来播放 mp3 和 wavs(我的主要用例)。有人要求添加视频播放,但我无法绕过 CSP 限制。
我试过XMLHttpRequest's arrayBuffer
const request = new XMLHttpRequest();
request.open('GET',url,true);
request.responseType = 'arraybuffer';
...
request.onload = () => {
const { readyState,status,response } = request;
const videoHtml = location.appendChild(document.createElement("video"));
videoHtml.classList.add("videoPlayer");
const mediaSource = new MediaSource();
videoHtml.src = URL.createObjectURL(mediaSource);
mediaSource.addEventListener("sourceopen",(e) => {
URL.revokeObjectURL(videoHtml.src);
const sourceBuffer = mediaSource.addSourceBuffer("video/mp4");
console.log("appending Buffer to sourceBuffer");
sourceBuffer.addEventListener("updateend",(e) => {
if (!sourceBuffer.updating && mediaSource.readyState === "open") mediaSource.endOfStream();
});
sourceBuffer.appendBuffer(response);
});
request.send();
我也试过XMLHttpRequest's blob
const request = new XMLHttpRequest();
request.open('GET',true);
request.responseType = 'blob';
...
request.onload = () => {
const { readyState,response } = request;
const videoHtml = location.appendChild(document.createElement("video"));
videoHtml.classList.add("videoPlayer");
videoHtml.src = URL.createObjectURL(response);
request.send();
都失败了 Refused to load media from ...because it violates the following Content Security Policy directive: "media-src https://*.googlevideo.com/videoplayback/"
我如何才能绕过 GMail 播放视频的错误 CSP?
Chrome 扩展程序 - https://chrome.google.com/webstore/detail/gplayer/obdmmgdlafadeehmbmcmoggnaokehnaj
Github 链接 - https://github.com/TriStarGod/GPlayer
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。