如何实施"您确定要再次提交表格"在WKWebView中

时间:2017-11-01 13:18:44

标签: ios swift wkwebview

在Safari中,尝试重新加载表单时会显示警告,而重新加载时WKWebView不会显示警告。

我如何实施"您确定要再次提交表格"?

enter image description here

2 个答案:

答案 0 :(得分:2)

实施 WKNavigationDelegate #webView(_:decisionPolicyFor:decisionHandler:)

然后,如果 navigationAction.navigationType formResubmitted ,则显示提醒。

对于提醒提示或取消按钮操作,请分别调用 decisionHandler(.allow) decisionHandler(.cancel)

func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
    if case .formResubmitted = navigationAction.navigationType {
        // Show alert   
    }
}

答案 1 :(得分:1)

您可以轻松添加创建UIAlertController的警报,然后向其添加自定义操作。

以您的情况为例:

//Create the alert using UIAlertController. Add your custom title and custom message
let alert = UIAlertController(title: "Information", message: "Are you sure you want to submit the form again", preferredStyle: .alert)

//Add custom buttons with different style
alert.addAction(UIAlertAction(title: "Submit", style: .default, handler: nil))
alert.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil))

//Present the alertView
self.presentViewController(alert, animated: true, completion: nil)

您可以将其设为一个功能,然后只要刷新页面就可以调用它。