UIWebView显示警报

时间:2016-12-29 15:45:43

标签: ios objective-c uiwebview

我有UIWebView,我加载google.com

[self.webView setFrameLoadDelegate:self];

NSURLRequest*request=[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com/"]];
[[self.webView mainFrame] loadRequest:request];

在完成方法中,我将此方法称为在webview上显示警报,但它无法正常工作。任何想法可能是什么问题?

- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame {
    [self.webView stringByEvaluatingJavaScriptFromString:@"alert('Hello')"];
}

1 个答案:

答案 0 :(得分:2)

如果您在OSX中使用WebKit / WebView,则此类永远不会显示JavaScript的警报。 相反,它调用WebUIDelegate的方法

func
webView(
    _ sender: WebView!
,   runJavaScriptAlertPanelWithMessage message: String!
,   initiatedBy frame: WebFrame!
) {
}

如果您设置了webView的uiDelegate属性。

self.webView.uiDelegate = self

您可以使用此回调中提供的消息显示您自己的面板。