在一个应用程序中,我有一些链接到我们的网站(有一个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更改页面标题时,如何更新我的导航控制器?
答案 0 :(得分:1)
您是否尝试使用此方法设置导航标题
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{}