Перезагрузить конкретную страницу при каждом посещении? - PullRequest
0 голосов
/ 11 октября 2011

Я пытаюсь найти лучший способ перезагрузить определенную страницу при использовании кнопки «Назад» в xcode.Вот что у меня сейчас

-(IBAction)backButton {
 [webView goBack];
 [webView reload];

 }

Все, что я хочу, чтобы это произошло, вместо обновления каждой страницы при нажатии кнопки «Назад», я хочу, чтобы обновлялся только мой локальный html, так что-то вроде

 -(IBAction)backButton {
 [webView goBack];
 if ("url matches localHTML"){
 [webView reload];
 }
 }

LocalHTML, который я хочу обновить - это только домашняя страница.Я знаю, что решение не будет таким простым, как описано выше, но я просто пытаюсь показать вам, что я ищу.Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 11 октября 2011

Вы проверяли метод делегата [UIWebViewDelegate webView: shouldStartLoadWithRequest: navigationType:]?

Похоже, что вы можете вернуть NO (т.е. не загружать), если URL-адрес в запросе не соответствует тому, который вы хотите разрешить.

http://developer.apple.com/library/ios/documentation/UIKit/Reference/UIWebViewDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UIWebViewDelegate/webView:shouldStartLoadWithRequest:navigationType:

И если вы хотите обновить только локальный HTML, сделайте что-то вроде:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSURL * urlWeAreConsidering = [request URL];
    if([urlWeAreConsidering isFileURL] == NO)
    { 
        // sends off a separate request
        [webView loadRequest: [NSURL URLWithString: @"file://LocalURL"]];
        return NO;
    }
    return YES;
}

И если вы также работаете с другим доменом, вы, вероятно, можете работать с фрагментом кода, который я написал, и вокруг него.там, чтобы разрешить начальные выборки из этого домена.

...