首页 > 解决方案 > 通过 WKWebView 使用 Javascript、AngularJS 在设备上保存数据以自动填充表单

问题描述

让我先说:我在 HTML、Javascript 或 Angular.js 方面不是最好的

我在 Xcode 中使用 Swift 4 和 iOS WKWebView 访问特定的商业网站,当用户将登录信息保存到他们的 iOS 设备(电子邮件和密码)时,它会填充这些字段并提交。我知道自动填充字段还有其他选项,但鉴于我正在从事的项目,我需要这样做。

我使用文本字段的 id 自动填充登录,如下所示:

webView.evaluateJavaScript("document.getElementById('email').value = 'example@email.com';", completionHandler: nil)

此方法适用于基本表单,但似乎更复杂的表单(我相信它使用 AngularJS 表单验证),您不能只进行自动填充和推送提交。它会这样说:

在此处输入图像描述

我注意到,如果您在自动填充后在每个字段中键入然后删除一个随机字母,则表单会将这些字段识别为正确填写。我认为这是因为它们将字段设置为“必需”,并且通常在网站上会发生输入/更改事件以识别文本字段中的输入(只是猜测)。

如果是这种情况,那么我是否需要找到特定事件(尽管我已经尝试过并且无法在 html 中找到它)或者我是否能够以某种方式使用“evaluateJavaScript”来触发合成事件(?) “ 方法?

如果有人可以帮助我解决这个问题,我将不胜感激。

标签: javascriptangularjsswiftwkwebviewautofill

解决方案


推荐阅读