項目中的網(wǎng)頁在彈出彈框時,點擊操作直接崩潰,發(fā)現(xiàn)是網(wǎng)頁服務器端用js的方法調(diào)用alert時,往往格式不符合iphone要求,這時可捕捉到該alert,在手機端自己調(diào)用。
#pragma mark alert彈出框
- (void)webView:(WKWebView *)webView runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(void))completionHandler {
UIAlertAction *alertActionCancel = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
// 返回用戶選擇的信息
completionHandler();
}];
UIAlertAction *alertActionOK = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
completionHandler();
}];
// alert彈出框
WSAlertViewController *alterVC =[WSAlertViewController alertControllerWithTitle:message message:nil preferredStyle:UIAlertControllerStyleAlert];
[alterVC addAction:alertActionCancel];
[alterVC addAction:alertActionOK];
[self presentViewController:alterVC animated:YES completion:nil];
}
當然除了alert之外,其他的Confirm選擇框、TextInput輸入框等都可以通過代理方法捕獲后用自定義的方法實現(xiàn)相應的效果。