如何解决JavaScript 自动填充问题
我正在尝试为 Stripe Checkout 页面创建一个简单的 chrome 扩展自动填充。 Chromes 默认的自动填充功能与预期的一样,但是当尝试使用我的扩展程序自动填充代码将值输入到表单中时
document.getElementById("ID").value = "value"
该值最初是输入的,但由于多种原因会自动删除,例如单击输入外部或页面上的任何其他地方将删除输入的值。我尝试了一些不同的事情,例如为键盘输入触发所有必要的事件,如 keyup、keydown、input、change 等,但我无法获得值。
我相信条带正在使用一些 JS 来检查发送到输入的事件是否受信任,如果不是,它正在删除值。出于这个原因,我尝试使用 Chromes Debugger API 将命令直接发送到浏览器。我找到了一个命令,它似乎可以满足我的需要。 “Input.dispatchKeyEvent”命令似乎是我所需要的,但我没有看到指定键被发送到哪个元素的方法。
chrome.debugger.sendCommand({tabId:TAB_ID},"Input.dispatchKeyEvent",{type:"char"})
如何防止值被删除? 有没有办法使用调试器将可信关键事件发送到页面上的特定元素?
可以在此处找到条纹结帐页面的示例单击“立即付款”以进入测试页面 https://demo.wpsimplepay.com/stripe-checkout/
命令文档 https://chromedevtools.github.io/devtools-protocol/1-3/Input/#method-dispatchKeyEvent
解决方法
我认为您无法做到这一点,因为我预计 Stripe 会希望避免从浏览器或受信任的应用程序以外的任何地方自动填充卡片详细信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。