項(xiàng)目中的網(wǎng)頁在彈出彈框時(shí)盒蟆,點(diǎn)擊操作直接崩潰,發(fā)現(xiàn)是網(wǎng)頁服務(wù)器端用js的方法調(diào)用alert時(shí)网棍,往往格式不符合iphone要求黔龟,這時(shí)可捕捉到該alert,在手機(jī)端自己調(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];
}
當(dāng)然除了alert之外氏身,其他的Confirm選擇框、TextInput輸入框等都可以通過代理方法捕獲后用自定義的方法實(shí)現(xiàn)相應(yīng)的效果惑畴。