如何从 Safari 钥匙串自动填充向服务器调用 ajax respond() 方法?
How to call ajax respond() method to server from Safari keychain autofill?
我们有 Java-基于 Wicket 的 EE 应用程序。
问题是,当你想在 Safari 中使用钥匙串提示自动填充用户名和密码时,服务器无法注册用户名,因为带有钥匙串的 Safari 不会发送 Ajax 回调,这需要服务器捕获使用 ajax 方法:
/**
* @param target
* The AJAX target
*/
protected abstract void respond(AjaxRequestTarget target);
文本字段的 html 代码或此组件的 javascript 应该是什么样子才能在从苹果钥匙串填写时发送 ajax 回调?
感谢您的回答。
我猜你有一个 HTML 表单,其中包含用于用户名的文本输入字段、用于密码的密码字段以及用于提交表单的(ajax?!)按钮。
您需要在 Safari 自动填充功能填充用户名和密码字段后立即触发按钮的点击侦听器。
如果 Safari 在填充后触发事件,则 JS 代码将类似于:
$('#passwordId').on('change', function(evt) {
if ($('#usernameId').value() && $('#passwordId').value()) {
$('#buttonId').click();
}
});
以上我假设 Safari 在自动填写密码字段后触发 change
事件。然后,如果用户名和密码字段都非空,我单击该按钮。这将导致此按钮的正常行为,即它将对服务器进行 (Ajax) 调用,Wicket 将完成其余的工作。
我们有 Java-基于 Wicket 的 EE 应用程序。
问题是,当你想在 Safari 中使用钥匙串提示自动填充用户名和密码时,服务器无法注册用户名,因为带有钥匙串的 Safari 不会发送 Ajax 回调,这需要服务器捕获使用 ajax 方法:
/**
* @param target
* The AJAX target
*/
protected abstract void respond(AjaxRequestTarget target);
文本字段的 html 代码或此组件的 javascript 应该是什么样子才能在从苹果钥匙串填写时发送 ajax 回调?
感谢您的回答。
我猜你有一个 HTML 表单,其中包含用于用户名的文本输入字段、用于密码的密码字段以及用于提交表单的(ajax?!)按钮。
您需要在 Safari 自动填充功能填充用户名和密码字段后立即触发按钮的点击侦听器。
如果 Safari 在填充后触发事件,则 JS 代码将类似于:
$('#passwordId').on('change', function(evt) {
if ($('#usernameId').value() && $('#passwordId').value()) {
$('#buttonId').click();
}
});
以上我假设 Safari 在自动填写密码字段后触发 change
事件。然后,如果用户名和密码字段都非空,我单击该按钮。这将导致此按钮的正常行为,即它将对服务器进行 (Ajax) 调用,Wicket 将完成其余的工作。