我正在构建一个应用程序,它将图像缓存在应用程序包的Documents目录中.为了确保目录存在,我想检查它们是否存在,如果不存在,则在应用程序启动时创建它们.
目前,我这样做didFinishLaunchingWithOptions:是这样的:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSArray *directoriesToCreate = [[NSArray alloc] initWithObjects:
@"DirA/DirA1",
@"DirA/DirA2",
@"DirB/DirB2",
@"DirB/DirB2",
@"DirC",
nil];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
for (NSString *directoryToCreate in directoriesToCreate) {
NSString *directoryPath = [documentsPath stringByAppendingPathComponent:directoryToCreate];
NSLog(directoryPath);
if (![[NSFileManager defaultManager] fileExistsAtPath:directoryPath isDirectory:YES]) {
NSError *directoryCreateError = nil;
[[NSFileManager defaultManager] createDirectoryAtPath:directoryPath
withIntermediateDirectories:YES
attributes:nil
error:&directoryCreateError];
}
}
[window addSubview:navigationController.view];
[window makeKeyAndVisible];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
在应用程序的第一次运行时 - 当没有任何目录存在时 - 应用程序运行,目录按预期创建,一切运行正常.
当应用程序终止并再次运行时,我会在fileExistsAtPath:通话时收到EXC_BAD_ACCESS信号[NSFileManager defaultManager] …
我们已经确定完整的浏览器缓存是我们的外联网出现问题的原因.它只影响我们的少数用户,但我们想提醒他们解决问题,并就如何自行解决问题给他们一些指导.
我们想要使用类似于GMail使用的系统.当检测到您的浏览器缓存已满时,它会显示一条警告消息,告知用户他们的缓存已满,并且可能导致GMail出现问题,以及清除浏览器时指向Gmail帮助页面的链接缓存.
有没有人知道是否有任何资源,或者如何使用JavaScript来检测浏览器的缓存是否完全表现得很糟糕?
谢谢.
澄清:我想,我们实际上试图检测的不是缓存是否已满,而是是否正在重新请求我们已将服务器端配置为存储在缓存中的脚本.服务器 - 以这种方式使浏览器表现得很奇怪,或者就像它的缓存行为不正常一样.
进一步澄清:谢谢大家对缓存的更新.我们的脚本正在发送正确的标题,我们只在IE6和IE7中看到这个问题 - Mozilla和WebKit浏览器似乎没有受到影响 - 但我仍然不确定我们如何使用JavaScript和/或XmlHttpRequest检查是否从缓存中检索了一个对象,从而让我们检查缓存是否表现不佳.
我有一个项目,我@font-face在CSS中使用嵌入字体.一切都运行正常,但网站所有者想要加密字体,以便没有人可以使用它而不是在网站上查看.
怎么设置?我在服务器上有字体,它是用@font-faceCSS 嵌入的,但不知怎的,我必须限制对它的访问.
使用字体托管公司不是一种选择,它必须是可以在服务器上本地运行的东西.
我们有许多网站使用相同的代码库来运行不同的网站,具体取决于所使用的域名,我们正在寻求使用HTML5应用程序缓存来提高这些网站的性能,以缓存诸如网络字体和其他大型网站之类的内容,很少更新的文件.
目前,我们使用HTTPS对完全限定的URL进行硬编码,以防其中一个网站使用SSL.我们的"静态"网站服务器可以处理HTTP和HTTPS,因此不要这样做:
CACHE MANIFEST
# Cache Version 3198.729
https://static.ourdomain.co.uk/fonts/webfont1.eot
https://static.ourdomain.co.uk/fonts/webfont1.ttf
https://static.ourdomain.co.uk/fonts/webfont1.woff
Run Code Online (Sandbox Code Playgroud)
我们希望能够这样做:
CACHE MANIFEST
# Cache Version 3198.729
//static.ourdomain.co.uk/fonts/webfont1.eot
//static.ourdomain.co.uk/fonts/webfont1.ttf
//static.ourdomain.co.uk/fonts/webfont1.woff
Run Code Online (Sandbox Code Playgroud)
这样做我们可能会遇到任何问题吗?
caching ×1
cocoa-touch ×1
font-face ×1
fonts ×1
gmail ×1
html5 ×1
ios ×1
javascript ×1
objective-c ×1