Mar*_*oso 6 javascript android cordova content-security-policy
我正在尝试从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);
Run Code Online (Sandbox Code Playgroud)
运行它时,出现以下错误:
Refused to load media from 'blob:file:///d181cef8-136d-4dab-b5c6-598a0481755c'
because it violates the following Content Security Policy directive: "media-src *".
Run Code Online (Sandbox Code Playgroud)
我不确定如何设置此指令以允许播放此文件,并且我无法使其正常工作。
有任何想法吗?提前致谢!
将blob:
修改器添加到您的内容安全策略应该可以解决此问题。您的media-src指令可能看起来像这样:media-src * blob:
假设media-src *
之前。
可以在developer.mozilla.org中找到有关media-src指令的更多信息。
另外,请注意,使用*
通配符通常不是一个好主意。它破坏了白名单的概念,在此进行了描述。我还回答了一个有关如何在此处消除通配符的问题。
归档时间: |
|
查看次数: |
3115 次 |
最近记录: |