javascript - 通过 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”来触发合成事件(?) “ 方法?
如果有人可以帮助我解决这个问题,我将不胜感激。
解决方案
推荐阅读
- javascript - Input type="file" 与另一种输入类型一起使用时表现出奇怪的行为
- python - 为什么不使用 retain_graph=True 会导致错误?
- bash - 每小时安排的 crontab 任务从上午 11 点到 12 点停止运行
- linux - 为什么这两个命令的结果不同?
- bash - 如何准确地将图像与视频帧匹配并使用 ffmpeg 退出
- python - 如何使用多索引对时间序列进行滚动窗口计数?
- javascript - OVER_QUERY_LIMIT 被地理编码器击中
- android - 当我们从 Firebase 实时数据库中删除或更新项目时,项目在适配器中重复
- node.js - 无论如何要更改函数中全局变量的值并在js中的本地范围之外访问
- r - 如何确定简单回文 R 码的时间复杂度?