我正在尝试从safari中的缓存中播放m4a文件。该错误首先出现在iOS上(它是一个Meteor Cordova应用程序,因此它使用Safari Webview),然后我意识到它也可以在桌面上的Safari中重现。我正在使用以下代码尝试播放音频:
LocalForage.getItem(track_id, (err, value)=>{
if(err)
throw err;
//the loaded value is an arraybuffer of an m4a file
let blob = new Blob([value]);
let url = (window.URL || window.webkitURL || window || {}).createObjectURL(blob);
let testAudio = new Audio(url);
testAudio.play().then(()=>{console.log("play successful")}).catch((err)=>{console.error(err)});
});
我得到的唯一错误信息是
DOMError: NotSupportedError (Message: "This operation is not supported")
如果您对用于下载到缓存的代码感兴趣,可以找到in my other question,Chrome的修复程序已实现并正常工作,但此处的测试代码尽可能简化。 / p>
答案 0 :(得分:0)
这是正常行为。在私人浏览模式下,通过safari阻止Localstorage。