Cordova - CSP 拒绝加载媒体 blob
Cordova - CSP refuses to load media blob
我正在尝试从 HTTP POST 请求加载获取一些音频数据,然后从 Android 设备播放它。这是处理该操作的代码:
var xhr = new XMLHttpRequest();
xhr.open('POST', encodeURI(myURLString), true);
xhr.responseType = 'blob';
xhr.onload = function(evt) {
var blob = new Blob([xhr.response], {type: 'audio/wav'});
var audio = new Audio();
audio.src = URL.createObjectURL(blob);
audio.play();
};
xhr.send(myData);
当我 运行 它时,出现以下错误:
Refused to load media from 'blob:file:///d181cef8-136d-4dab-b5c6-598a0481755c'
because it violates the following Content Security Policy directive: "media-src *".
我不确定如何设置此指令以允许播放此文件,但我无法使其正常工作。
有什么想法吗?提前致谢!
将 blob:
修饰符添加到您的内容安全策略应该可以解决这个问题。您的 media-src 指令可能看起来像这样:media-src * blob:
假设它之前是 media-src *
。
有关 media-src 指令的更多信息,请参见 developer.mozilla.org。
另外,请注意使用 *
通配符通常不是一个好主意。它破坏了白名单的想法,即described here. I also answered a question on how to get rid of wildcards here。
我在元标记下方的电子应用程序中遇到了同样的问题解决了我的问题
<meta http-equiv="Content-Security-Policy" content="default-src 'self' file: data: blob: filesystem:; default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'"/>
我正在尝试从 HTTP POST 请求加载获取一些音频数据,然后从 Android 设备播放它。这是处理该操作的代码:
var xhr = new XMLHttpRequest();
xhr.open('POST', encodeURI(myURLString), true);
xhr.responseType = 'blob';
xhr.onload = function(evt) {
var blob = new Blob([xhr.response], {type: 'audio/wav'});
var audio = new Audio();
audio.src = URL.createObjectURL(blob);
audio.play();
};
xhr.send(myData);
当我 运行 它时,出现以下错误:
Refused to load media from 'blob:file:///d181cef8-136d-4dab-b5c6-598a0481755c'
because it violates the following Content Security Policy directive: "media-src *".
我不确定如何设置此指令以允许播放此文件,但我无法使其正常工作。
有什么想法吗?提前致谢!
将 blob:
修饰符添加到您的内容安全策略应该可以解决这个问题。您的 media-src 指令可能看起来像这样:media-src * blob:
假设它之前是 media-src *
。
有关 media-src 指令的更多信息,请参见 developer.mozilla.org。
另外,请注意使用 *
通配符通常不是一个好主意。它破坏了白名单的想法,即described here. I also answered a question on how to get rid of wildcards here。
我在元标记下方的电子应用程序中遇到了同样的问题解决了我的问题
<meta http-equiv="Content-Security-Policy" content="default-src 'self' file: data: blob: filesystem:; default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'"/>