我正在开发具有webview(wkwebview)的iOS应用,它将像amazon.in一样在wkwebview中加载网站我的信用卡/借记卡详细信息(如卡号,有效日期等)已安全存储在我的iOS应用中,我想在付款页面输入字段中将信用卡/借记卡详细信息填充到amazon ..中。
如果保存,iPhone中的默认Safari浏览器能够自动填充信用卡/借记卡。
请让我知道相同的解决方案。
这是亚马逊付款页面:
class ViewController: UIViewController {
let scriptSource = "document.getElementsByName('addCreditCardNumber')[0].value = '1111 1111 1111 1111'"
var webConfig: WKWebViewConfiguration {
get {
let webCfg = WKWebViewConfiguration()
let controller = WKUserContentController()
let pre = WKPreferences()
pre.javaScriptEnabled = true
webCfg.preferences = pre
let script = WKUserScript(source: scriptSource, injectionTime: .atDocumentEnd, forMainFrameOnly: false)
controller.addUserScript(script)
webCfg.userContentController = controller
return webCfg;
}
}
lazy var webView: WKWebView = {
let webView = WKWebView(frame: .zero, configuration: self.webConfig)
webView.translatesAutoresizingMaskIntoConstraints = false
return webView
}()
override func viewDidLoad() {
super.viewDidLoad()
self.addWKWebView()
}
private func addWKWebView(){
self.view.addSubview(webView)
self.view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|[webView]|", options: [], metrics: nil, views: ["webView": webView]))
self.view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|[webView]|", options: [], metrics: nil, views: ["webView": webView]))
webView.load(URLRequest(url: URL(string: "https://www.amazon.in")!))
webView.uiDelegate = self
webView.navigationDelegate = self
}}
[我正在开发具有webview(wkwebview)的iOS应用,将在wkwebview中加载类似Amazon的网站。在我这里,安全存储了信用卡/借记卡详细信息,例如卡号,有效日期等。 。
您可以为带有WKUserScript
对象的页面添加自定义UserScript。在其中,您可以使用标准的JavaScript,例如document.getElementById("creditcard").defaultValue = "12345";
这是我用来在webView中附加消息的内容: