摘要:我試圖做一些手動更改(增加字體,寬度等)在應用程序支持文件夾中存儲的css文件並保存它,當我加載相應的頁面鏈接到該CSS我發現它沒有反映我在CSS中的變化,它只會反映我的變化,當我殺了應用程序,並再次啓動它。UIwebview不加載從服務器下載的HTML文件中的更新更改
我上的應用,在那裏我感到在viewWillDisappear方法也在做這個
[[NSURLCache sharedURLCache] removeAllCachedResponses];
[self flushJavaScriptVariables];
[self.objwebview loadHTMLString:@"" baseURL:nil];
NSString *htmlfile = [HTML_SERVER_FILES stringByAppendingPathComponent:@"MyPage.html"];
NSURL *url = [NSURL fileURLWithPath:htmlfile];
NSURLRequest *thereq = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60];
[self.objwebview stringByEvaluatingJavaScriptFromString:@"document.open();document.close()"];
[self.objwebview loadRequest:thereq];
我在一個點上做這個
-(void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[self.objwebview loadHTMLString:@"" baseURL:nil];
[self.objwebview setDelegate:nil];
[self.objwebview stopLoading];
[self.objwebview removeFromSuperview];
self.objwebview = nil;
}
現在正在加載本地存儲的HTML文件到UIWebView的工作,如果有任何更改,我從服務器下載HTML文件並將它們保存在應用程序支持文件夾中,但在保存這些文件之前,我從保存這些更新文件的文件夾中刪除所有內容。
現在我被困在一個地方,當我從服務器下載新文件時,新文件的更改沒有反映出來。只有當我終止應用程序並重新啓動我的應用程序時纔會反映更改。
即使我在一個HTML文件中更改填充或圖像或更改一個控件的位置,然後從服務器獲取更新的文件也不會反映這些更改,除非直到您終止應用程序並重新啓動它。
我想跳過終止部分,以便我的應用程序直接從存儲的文件加載新的更改。
請指導我,並讓我知道需要做些什麼。
更新:我正在使用的代碼將文件保存在應用程序支持目錄中。
NSData *fileData = [NSData dataWithContentsOfURL:theFileURL];
if (fileData.length!=0)
{
[fileData writeToFile:[HTML_SERVER_FILES stringByAppendingPathComponent:[dict valueForKey:@"FileName"]] atomically:YES];
fileData = nil;
}
在Xcode中,我可以做到這一點,但如果你正在設備上運行應用程序呢?如何在實際設備上清除項目? 糾正我,如果我錯了 – user2538944
您正在使用本地存儲的HTML。所以在更改文件後,您必須通過連接到xcode.right來更改設備中的應用程序?那時你可以執行清理 – manujmv
我正在從服務器本身下載文件,所以沒有必要連接回Xcode。我打電話給服務器誰給了我更新的文件,我將它們保存在應用程序支持文件夾中,但在保存之前我清除應用程序支持文件夾中的內容,然後保存這些新文件。 – user2538944