Swift 在WKWebView中提交HTML
在Javascript中,您可以构建HTML并使用$(formElement).submit()在浏览器中提交HTML。我试图在Swift中也这样做,但得到一个空白屏幕。我没有试图显示HTML,而是在WKWebView中提交它Swift 在WKWebView中提交HTML,swift,Swift,在Javascript中,您可以构建HTML并使用$(formElement).submit()在浏览器中提交HTML。我试图在Swift中也这样做,但得到一个空白屏幕。我没有试图显示HTML,而是在WKWebView中提交它 var finalHTML = “<form method='POST' action='https://secure.paygate.co.za/payweb3/process.trans'><input type='hidden' name='PAY
var finalHTML = “<form method='POST' action='https://secure.paygate.co.za/payweb3/process.trans'><input type='hidden' name='PAY_REQUEST_ID' value='DC917AF1-C2A6-AEDA-2412-2F355752989C'></input><input type='hidden' name='CHECKSUM' value='1F69DF2D455FAAE2797F5F44FA7BEB05'></input></form>”
webView.navigationDelegate = self
webView.allowsBackForwardNavigationGestures = true
webView.configuration.userContentController.add(self, name: "message")
self.webView.loadHTMLString(finalHTML, baseURL: nil)
var finalHTML=“”
webView.navigationDelegate=self
webView.AllowsBackforwardNavigationPigests=true
webView.configuration.userContentController.add(self,名称:“message”)
self.webView.loadHTMLString(finalHTML,baseURL:nil)
我已将以下内容添加到您的原始代码中(更正后):
+
标记
使用JavaScript在页面加载后立即触发表单提交onload
包含一个onload
包装触发提交的代码,这通常是不需要的,但为了额外的安全性,我添加了它setTimeout()
- 删除
,我认为不需要它(除非表单提交后还有其他事情发生)userContentController
var finalHTML = "<html><body onload='setTimeout(function() { document.querySelector('form').submit() }, 1)'><form method='POST' action='https://secure.paygate.co.za/payweb3/process.trans'><input type='hidden' name='PAY_REQUEST_ID' value='DC917AF1-C2A6-AEDA-2412-2F355752989C'></input><input type='hidden' name='CHECKSUM' value='1F69DF2D455FAAE2797F5F44FA7BEB05'></input></form></body></html>"
webView.navigationDelegate = self
webView.allowsBackForwardNavigationGestures = true
self.webView.loadHTMLString(finalHTML, baseURL: nil)
var finalHTML=“”
webView.navigationDelegate=self
webView.AllowsBackforwardNavigationPigests=true
self.webView.loadHTMLString(finalHTML,baseURL:nil)