2012-09-01 61 views
1

在一個應用程序中,我有幾個鏈接到我想要在應用程序中打開的我們的網站(它有一個jQuery手機版本)。如何在UIWebView中檢測標題何時被AJAX更新?

我用我自己的視圖控制器,並添加一個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

你有沒有嘗試設置您的導航標題此方法

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

這不適用於攔截工作/聽AJAX調用。 – arorak