1

在一个应用程序中,我有几个指向我们网站(有一个 jQuery 移动版本)的链接,我想在应用程序中打开这些链接。

我使用自己的视图控制器并添加一个 UIWebView ,如下所示:

webv = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 367)];
[webv setDelegate:self];
[webv loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:self.urlString]]];
[self.view addSubview:webv];

我也在使用导航控制器,所以我想在页面加载时更新标题:

- (void)webViewDidFinishLoad:(UIWebView *)webView{
    self.title = [webView stringByEvaluatingJavaScriptFromString:@"document.title"];
}

但是,因为 jQuery mobile 通过 AJAX 和调用发出请求history.pushState,所以webViewDidFinishLoad委托方法永远不会被触发。

那么,当页面标题通过 javascript 更改时,如何更新我的导航控制器?

4

1 回答 1

1

您是否尝试通过此方法设置导航标题

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{}
于 2012-09-28T18:45:12.163 回答