2014-09-05 359 views
0

safari想连续使用登录钥匙链来访问xyz网站。safari想要使用登录钥匙串

- 在页面加载

- 聚焦状态中EMAIL_ID场

- onkeypress事件EMAIL_ID

如何防止这些不throgh在HTML的变化或JS(JS或jQuery的)干扰自动填充功能我的网站

+0

有你想通了这一点? – 2014-12-31 11:51:13

回答

2

我在我的项目前一天搜索此问题。最后我在下面找到了解决方案。

这样的插件工作结构。它得到你的输入并克隆它。使用此克隆并创建相同的输入属性并克隆另一个隐藏的输入。之后,删除您的原始输入,并把隐藏和克隆的输入相同的位置。

这是原因。当页面加载并映射到DOM时,现代浏览器(具有钥匙串)控制输入(输入密码)。页面加载插件获取输入并克隆并删除原始输入。此操作更改DOM映射。因此,当页面重定向时,brovser无法访问此控件。所以不要建议你保存密码。

您可以使用此插件解决此问题。

备注:

如果您使用像我这样的插件。例如用于密码安全输入的jquery键盘插件。你可以修改你的initkeyboard方法。因为键盘控制你的输入,并在这个输入附近进行初始化。你能后 VAR _inputwidth = $(榆树).parent()之前

var _inputwidth = $(elm).parent().find('input').width(); 

改变这个init方法如下面 初始化键盘改变

。找到('输入[类型=文字],输入[ 。类型=密码]')宽度();

因为插件输出这样

<input type="hidden" id="txtPass" name="txtPass" spellcheck="false" autocomplete="off"> 
<input type="text" id="txtPass" name="txtPass" spellcheck="false" autocomplete="off"> 

如果您有任何按键或keydown事件初始化此输入把这个代码插件后初始化。因为此插件改变DOM映射 此插件的使用类似下面

$('input[type=password]').disableAutocomplete(); 

这是创建者desctiption

这jQuery插件强制自动完成=关闭HTML属性上 密码(和其他)领域。最近的浏览器已经选择忽略 这个属性来支持用户偏好。然而,一些金融机构(以及其他机构)可能有充分的理由来执行这种做法。

jQouery Disable AutoComplete