Can I handle alert inside UIWebViewDelegate?

后端 未结 3 1644
长发绾君心
长发绾君心 2020-11-30 09:24

I can see the alert message inside my UIWebView

3条回答
  •  悲&欢浪女
    2020-11-30 10:16

    This seems to do it:

    - (void)webViewDidFinishLoad:(UIWebView *)webView
    {
        JSContext *ctx = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
        ctx[@"window"][@"alert"] = ^(JSValue *message) {
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"JavaScript Alert" message:[message toString] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
            [alert show];
        };
    }
    

    Note: only tested on iOS 8.

提交回复
热议问题