我可以从HTML5应用缓存加载网络资源吗?
我能够很好地缓存本地文件(图像、js等) 理想情况下,我希望能够指向远程资源,例如存储在Azure上blob存储中的.mp4,并缓存该资源。可能吗 我没有在我的日志中看到任何错误,但我也没有看到它正在下载,因为它在Chrome->Resources面板下的应用缓存中不可用 我的舱单:我可以从HTML5应用缓存加载网络资源吗?,html,html5-appcache,Html,Html5 Appcache,我能够很好地缓存本地文件(图像、js等) 理想情况下,我希望能够指向远程资源,例如存储在Azure上blob存储中的.mp4,并缓存该资源。可能吗 我没有在我的日志中看到任何错误,但我也没有看到它正在下载,因为它在Chrome->Resources面板下的应用缓存中不可用 我的舱单: CACHE MANIFEST # Init 11-24-15 index.html ### Images img/Night-Trap-32x-Front.jpg /img/icons/Bathroom.jpg
CACHE MANIFEST
# Init 11-24-15
index.html
### Images
img/Night-Trap-32x-Front.jpg
/img/icons/Bathroom.jpg
/img/icons/Bedroom.jpg
/img/icons/Driveway.jpg
/img/icons/Entry-Way.jpg
/img/icons/Hall-1.jpg
/img/icons/Hall-2.jpg
/img/icons/Kitchen.jpg
/img/icons/Living-Room.jpg
/img/icons/trap-icon.gif
img//stills/BATHROOM_1.jpg
img//stills/BEDROOM_1.jpg
img/stills/DRIVEWAY_1.jpg
img/stills/ENTRY-WAY_1.jpg
img/stills/HALL-ONE_1.jpg
img/stills/HALL-TWO_1.jpg
img/stills/KITCHEN_1.jpg
img/stills/LIVING-ROOM_1.jpg
### JS
js/vendor/bootstrap.min.js
bower_components/video.js/dist/video.js
js/vendor/mainloop/mainloop.js
bower_components/object.observe/dist/object-observe-lite.min.js
js/appCacheValidation.js
# THESE DO NOT SEEM TO BE CACHED
https://nighttrapblob.blob.core.windows.net/ntvids/hallOne/00000021.mp4
https://nighttrapblob.blob.core.windows.net/ntvids/hallOne/00130422.mp4
https://nighttrapblob.blob.core.windows.net/ntvids/hallOne/01152221.mp4
https://nighttrapblob.blob.core.windows.net/ntvids/hallOne/02500221.mp4
https://nighttrapblob.blob.core.windows.net/ntvids/bedroom/00000081.mp4
NETWORK:
*
这就是我如何记录正在发生的事情:
// App cache validation
var appCache = window.applicationCache;
if (appCache === null || undefined) {
console.log("App cache does not exist");
}
appCache.addEventListener('checking', function(event) {
console.log("Checking for updates.");
}, false);
appCache.addEventListener('error', function(event) {
if (navigator.onLine === true) { //If the user is connected to the internet.
//alert("Error - Please contact the website administrator if this problem consists.");
console.log("Error - Please contact the website administrator if this problem consists.");
} else {
//alert("You aren't connected to the internet. Some things might not be available.");
console.log("You aren't connected to the internet. Some things might not be available.");
}
}, false);
appCache.addEventListener('downloading', function(event) {
console.log("Started Download.");
}, false);
appCache.addEventListener('progress', function(event) {
console.log(event.loaded + " of " + event.total + " downloaded.");
}, false);
appCache.addEventListener('cached', function(event) {
console.log("Cached assets -- Done.");
}, false);
appCache.addEventListener('updateready', function() {
console.log("New resources are available for download -- update ready");
}, false );
appCache.addEventListener('obsolete', function(event) {
console.log("Obsolete - no resources are cached, and previous cache(s) are now deleted.");
}, false);
我解决了。花了一点时间四处打猎,但你看: 您可以通过类似web作业的方式将缓存控制应用于容器中的所有Blob。有一个很好的例子说明了如何做到这一点,包括两个步骤: