1

我有一个带有故事板和 navigationViewController 的应用程序。在一个页面上,我有一个 webView 对象,其中包含一个网上商店。在这个视图中,我不得不隐藏顶部栏,因为我想将这个地方用于我自己的 html5 栏。

现在我的问题。是否可以通过 webView 中的 javascript 触发(隐藏的)后退按钮?

编辑

我从解决方案链接尝试了这段代码

- (void)viewDidLoad
{
    [super viewDidLoad];
    [[self navigationController] setNavigationBarHidden:YES animated:YES];
    [self.browser loadRequest: [NSURLRequest requestWithURL: [NSURL URLWithString:@"http://www.mywebshop.com/mobile/"]]];
}


-(void) webView:(UIWebView *)browser shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
    if ( [[[inRequest URL] scheme] isEqualToString:@"callback"] ) {

        NSLog(@"Catched Succesfull");
    }
    NSLog(@"NOT Catched");
}

但它没有捕捉到事件。没有日志记录。我误解了什么吗?

4

2 回答 2

2

您可能对history.back() http://www.w3schools.com/jsref/met_his_back.asp感兴趣

于 2013-03-18T22:41:44.560 回答
1

回调的一种流行方法(我知道的唯一方法)UIWebView是使用您拦截的自定义 URI。你可以看到这个SO帖子iOS UIWebView拦截链接点击

将其格式化href为类似的格式myapp://closeWebView,然后在委托方法中您可以侦听该 URI,一旦检测到调用您的本机 ObjC 代码以关闭UIWebView

于 2013-03-18T22:49:51.190 回答