Javascript 文件API-用于存储视频的HTML5应用程序
我想知道HTML5 API是否适合此用例:Javascript 文件API-用于存储视频的HTML5应用程序,javascript,html,video,local-storage,Javascript,Html,Video,Local Storage,我想知道HTML5 API是否适合此用例: 一些视频出现在公共服务器上(例如) JS/html5应用程序应该在本地存储视频,以便能够离线播放(视频是公开的,没有安全性) (警告) 在我的初始测试中,我无法通过“No‘Access Control Allow Origin’”错误 根据我的理解,以下脚本应该: 请求,并获取位于给定URL的内容 在某个地方准备1Mb文件(我想我在这里会有其他错误,但我会在看到它们时到达那里:) 现在我想了解为什么会发生这种错误,客户端(移动浏览器)查询不在其
- 一些视频出现在公共服务器上(例如)
- JS/html5应用程序应该在本地存储视频,以便能够离线播放(视频是公开的,没有安全性) (警告)
- 请求,并获取位于给定URL的内容
- 在某个地方准备1Mb文件(我想我在这里会有其他错误,但我会在看到它们时到达那里:)
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://videosanbox.me/video.mpg', true);
xhr.responseType = 'blob';
xhr.onload = function(e) {
window.requestFileSystem(TEMPORARY, 1024 * 1024, function(fs) {
fs.root.getFile('video.mpg', {create: true}, function(fileEntry) {
fileEntry.createWriter(function(writer) {
writer.onwrite = function(e) { alert('writing'); };
writer.onerror = function(e) { alert('error'); };
var blob = new Blob([xhr.response], {type: 'video/mpg'});
writer.write(blob);
}, onError);
}, onError);
}, onError);
};
xhr.send();
OneError只是在发生错误时执行一些操作:函数OneError(e){console.log('error',e);}解决方案1 在服务器端,需要传递此标头: 标题('Access-Control-Allow-Origin:') 不幸的是,如果你不能控制videosanbox.me,这可能是不可能的。如果没有,联系他们,看看他们是否愿意这样做。如果没有,请不要担心,还有第二种解决方案: 解决方案2
在您自己的服务器上创建网页并允许跨站点脚本(但使用安全性限制谁可以使用此网页)。在该页面的代码中,它将接收请求并打开HTTP连接,检索mpg文件并将其作为Blob吐回PhoneGap应用程序。您的PhoneGap将通过Ajax连接到此页面(在您的服务器上),而不是。这是在同一台服务器上托管的吗?这个网页也在videosanbox.me吗?不,由于PhoneGap,这个网页将被包装在一个移动应用程序中,谢谢