angular-imgcache.js图像路径问题仅限iOS
几天来,我一直在努力解决这个问题。angular-imgcache.js模块在Android中工作,但在iOS中不工作。我可以检查Android上的文件系统和iOS上的应用程序容器。不同之处在于,在Android上,imgcache目录位于文件系统的根目录中,而iOS上,imgcache位于angular-imgcache.js图像路径问题仅限iOS,ios,angularjs,cordova,caching,ionic-framework,Ios,Angularjs,Cordova,Caching,Ionic Framework,几天来,我一直在努力解决这个问题。angular-imgcache.js模块在Android中工作,但在iOS中不工作。我可以检查Android上的文件系统和iOS上的应用程序容器。不同之处在于,在Android上,imgcache目录位于文件系统的根目录中,而iOS上,imgcache位于Library/files/imgcache下。下面是我刷新时在safari remote inspector中看到的消息 [Log] INFO: LocalFileSystem opened (vendor
Library/files/imgcache
下。下面是我刷新时在safari remote inspector中看到的消息
[Log] INFO: LocalFileSystem opened (vendors.min.js, line 852)
[Log] INFO: Local cache folder opened: /imgcache/ (vendors.min.js, line 852)
[Log] INFO: com.apple.MobileBackup metadata set (vendors.min.js, line 852)
[Log] ERROR: Download error source: https://URLPATH (vendors.min.js, line 852)
[Log] ERROR: Download error target: cdvfile://localhost/root/imgcache/c56f69853d5444c697307b96a1eef89a55a64830.jpg (vendors.min.js, line 852)
[Log] ERROR: Download error code: 1 (vendors.min.js, line 852)
[Log] ERROR: Download error source: https://URLPATH (vendors.min.js, line 852)
[Log] ERROR: Download error target: cdvfile://localhost/root/imgcache/be0f1e88a316eb2b049b2bc09fadef9cac2c5e87.jpg (vendors.min.js, line 852)
[Log] ERROR: Download error code: 1 (vendors.min.js, line 852)
初始加载后,我可以通过修改此对象来覆盖filecache操作中使用的imagecache目录
ImgCache.attributes.dirEntry
Object
filesystem: Object
fullPath: "/imgcache/"
isDirectory: true
isFile: false
name: "imgcache"
nativeURL: "file:///var/mobile/Containers/Data/Application/CONTAINER_HASH/Library/files/imgcache/"
__proto__: Object
> ImgCache.attributes.dirEntry.fullPath = ImgCache.attributes.dirEntry.nativeURL
< "file:///var/mobile/Containers/Data/Application/CONTAINER_HASH/Library/files/imgcache/"
> ImgCache.cacheFile("https://URLPATH");
< undefined
[Log] INFO: Download complete: /imgcache/c56f69853d5444c697307b96a1eef89a55a64830.jpg (vendors.min.js, line 852)
[Log] INFO: Cached file size: 14122 (vendors.min.js, line 852)
[Log] INFO: current size: 14122 (vendors.min.js, line 852)
[Log] INFO: com.apple.MobileBackup metadata set (vendors.min.js, line 852)
初始化发生在$ionicPlatform.ready
// PhoneGap application
if (navigator && navigator.splashscreen) {
$ionicPlatform.ready(function() {
console.log('$ionicPlatform');
Analytics.init();
if (phoneCheck.android) {
ionic.Platform.isFullScreen = true;
}
if (phoneCheck.ios) {
setTimeout(function() {
navigator.splashscreen.hide();
ImgCache.$init();
}, 2500);
}
});
}
// PhoneGap application
if (navigator && navigator.splashscreen) {
$ionicPlatform.ready(function() {
console.log('$ionicPlatform');
Analytics.init();
if (phoneCheck.android) {
ionic.Platform.isFullScreen = true;
}
if (phoneCheck.ios) {
setTimeout(function() {
navigator.splashscreen.hide();
ImgCache.$init();
}, 2500);
}
});
}