【发布时间】:2020-02-15 03:37:51
【问题描述】:
我正在开发有 webview(wkwebview) 的 iOS 应用程序,wkwebview 中将加载网站,如 amazon.in 我将信用卡/借记卡详细信息(例如卡号、到期日期等)安全地存储在我的 iOS 应用程序中,我想将信用卡/借记卡详细信息填充到 amazon.in 支付页面输入字段中。
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
}}
【问题讨论】:
-
请附上代码、资料,有助于更好地回答
-
已更新。我已经尝试过这段代码,但没有工作
-
您从哪里获得“addCreditCardNumber”-Name?这里没有显示它的源代码。
-
@CennoxX 我们可以通过 google chrome 检查获得这个元素名称
标签: javascript ios swift webkit wkwebview