【问题标题】:How to detect when the title is updated by AJAX in a UIWebView?如何检测 UIWebView 中的 AJAX 何时更新标题?
【发布时间】:2012-09-01 10:02:26
【问题描述】:

在一个应用程序中,我有几个指向我们网站(有一个 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 更改时,如何更新导航控制器?

【问题讨论】:

    标签: javascript jquery ios jquery-mobile uiwebview


    【解决方案1】:

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

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

    【讨论】:

    • 这不适用于拦截/监听 AJAX 调用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-14
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    • 2011-06-11
    • 1970-01-01
    相关资源
    最近更新 更多