我正在我的应用程序中实现 CCAvenue 网关方式。CCAvenue 网关从我的网站加载到 Web 视图中。
现在在成功/失败页面的交易完成后,我怎样才能知道并加载我的应用程序成功页面......请帮助我朋友
我正在我的应用程序中实现 CCAvenue 网关方式。CCAvenue 网关从我的网站加载到 Web 视图中。
现在在成功/失败页面的交易完成后,我怎样才能知道并加载我的应用程序成功页面......请帮助我朋友
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];
}
最简单的方法是让您的网页使用自定义方案发送请求,例如 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;
}