【问题标题】:Native IOS App recieve data from webbrowser javascript本机 IOS App 从 Web 浏览器 javascript 接收数据
【发布时间】:2013-03-07 11:15:42
【问题描述】:

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

现在我的问题。是否可以通过 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");
}

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

【问题讨论】:

  • 您是否要返回上一个视图?还是让 webview 回到上一页?
  • 对不起。我有一个 backButton(在 HTML 中),它应该关闭 IOS webview。就像在 IOS 中单击后退按钮一样。如前所述。我的视图标题,其中包含 web 视图是隐藏的。
  • 您是否将 webview 的委托设置为您在其中实现此方法的类?
  • 我已经更新了我的代码。在我的“.h”中,我有 IbOutlet "@property (retain, nonatomic) IBOutlet UIWebView *browser;"

标签: javascript ios xcode uinavigationcontroller


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-29
      • 1970-01-01
      • 1970-01-01
      • 2016-03-17
      • 2013-01-28
      • 1970-01-01
      相关资源
      最近更新 更多