代码之家  ›  专栏  ›  技术社区  ›  flohei

获取有关UIWebView中页面更改的通知

  •  12
  • flohei  · 技术社区  · 16 年前

    UIWebView . 在我正在开发的应用程序中,我们使用 UIWebView 展示部分功能,基本上是用户需要遵循的几个步骤。但是,在这些步骤的最后,将是一个我需要识别的特定页面,之后应用程序需要显示一个不同的视图。

    不幸的是 UIWebViewDelegate 似乎不管用。

    2 回复  |  直到 7 年前
        1
  •  23
  •   alleus    16 年前

    如果用户步骤在不同的页面上分开,则 UIWebView 需要加载不同的步骤,这确实应该可以通过委托方法实现。

    在这个例子中,我们说用户经历了3个步骤,分别是 步骤1.htm , 步骤2.htm 最后呢 . 此代码将检测用户何时到达第三个也是最后一个步骤。

    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
        NSString *URLString = [[request URL] absoluteString];
        if ([URLString isEqualToString:@"http://www.example.com/step3.htm"]) {
            // The user reached step 3!
        }
        return YES;
    }
    

    请注意,使用 absoluteString query , path parameterString 等等。。。

        2
  •  1
  •   Andres Marin    7 年前

    func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
    
        if request.url?.absoluteString == "http://www.example.com/step3.htm" {
            // The user reached step 3!
        }
    
        return true
    }