我的新ChromeApp有些麻烦。FileSystem API和Chrome扩展程序
所以..我已经开始使用JavaScript FileSystem API,所以我用 来创建mp3文件(我的应用程序是一个html5播放器)。
来自FileSystem API的FileEntry对象为存储在文件系统中的文件提供toURL()
方法 。在ChormeApps这种方法 返回是这样的:
filesystem:chrome-extension://mhldgbaidgpagmimniipggmajbodaeco/persistent/cbd416046ae7a567d4629fc38ac80864.mp3
但是,当我试图<audio>
标签作为值使用这个网址为src
属性 我收到此错误:
Refused to load media from 'filesystem:chrome-extension://mhldgbaidgpagmimniipggmajbodaeco/persistent/cbd416046ae7a567d4629fc38ac80864.mp3' because of Content-Security-Policy.
所以我尝试使用相对路径清除名称
<audio src="cbd416046ae7a567d4629fc38ac80864.mp3" />
并与Chrome应用根路径
<audio src="chrome-extension://mhldgbaidgpagmimniipggmajbodaeco/cbd416046ae7a567d4629fc38ac80864.mp3"/>
,并以 “持续性” 文件夹
<audio src="chrome-extension://mhldgbaidgpagmimniipggmajbodaeco/persistent/cbd416046ae7a567d4629fc38ac80864.mp3"/>
在过去的3情况下,我已经得到了404错误。 那么,我怎样才能启用从文件系统加载媒体? content_security_policy
或permissions
的清单中有某些内容?或者有一些神奇的道路可以使用?
在此先感谢您的答案。
更新: 我使用content_security_policy
指令:
default-src 'none'; style-src 'self' 'unsafe-inline'; img-src 'self' http://*.userapi.com; script-src 'self' 'unsafe-eval'; connect-src 'self' http://*.userapi.com http://vk.com http://last.fm http://ws.audioscrobbler.com; media-src 'self';
但media-src 'self'
不会带来所需的结果。我仍然开始错误“拒绝加载媒体”。
更新2: 我找到了一个丑陋的黑客做我想做什么:media-src: 'self' *
做这项工作。但是如果你对如何解决这个问题有一些想法,我会很高兴看到他们。
更新3: 问题解决了。感谢Mihai Parparita的回答。
哦,你是对的。十分感谢! – 2012-07-22 23:28:24