0

我正在我的应用程序中实现 CCAvenue 网关方式。CCAvenue 网关从我的网站加载到 Web 视图中。

现在在成功/失败页面的交易完成后,我怎样才能知道并加载我的应用程序成功页面......请帮助我朋友

4

2 回答 2

2

Dan Spag 是正确的 - URL 方案使事情更容易管理和理解,但有时这些是不可能的。另一种方法是确保在成功/失败网页中,在 dom(或 HTML 正文响应)中设置响应状态,然后在 iOS 中使用 stringByEvaluatingJavaScriptFromString 像这样在本地捕获它......

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    NSString *responseState = [webView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"];
 // or possibly a javascript property in the webview's loaded page if preferred.

   if([responseState isEqualToString:@"success"])
   {
       // do something with success
   } 
   else if([responseState isEqualToString:@"fail"]) {
      // do something with fail
   }

   [self.webView removeFromSuperView];

}
于 2014-07-23T13:53:12.150 回答
2

最简单的方法是让您的网页使用自定义方案发送请求,例如 myapp://transactionSuccess 和您的应用程序在 webView 委托中处理此问题:

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

    NSURL *URL = [request URL];
    if ([[URL scheme] isEqualToString:@"myapp"]) {
        // handle the response
        NSString *host = [URL host];
        if ([host isEqualToString:@"transactionSuccess"]) {
            // show your custom screen
            return NO;
        }
    }

    return YES;
}
于 2014-07-23T13:16:44.553 回答