如何在UIWebView中检测AJAX何时更新标题?

时间:2012-09-01 10:02:27

标签: javascript jquery ios jquery-mobile uiwebview

在一个应用程序中,我有一些链接到我们的网站(有一个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更改页面标题时,如何更新我的导航控制器?

1 个答案:

答案 0 :(得分:1)

您是否尝试使用此方法设置导航标题

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{}