Html 关闭自动完成而不影响会话历史缓存
我想 (1) 在输入字段中键入时不向用户显示任何建议 可以这样做:Html 关闭自动完成而不影响会话历史缓存,html,autocomplete,browser-history,Html,Autocomplete,Browser History,我想 (1) 在输入字段中键入时不向用户显示任何建议 可以这样做: <input autocomplete="off"> 但是我注意到这也 (2) 禁用历史记录更改,例如,当您转到另一个站点并单击历史记录后退按钮时,输入字段将为空 您可以在这里尝试: 只有插入到第一个字段中的文本才能进入新页面并再次返回 有没有办法只起作用(1),而不起作用(2)?这个解决方案应该有效,但并不理想:只是分享一个想法。 我认为你不能用“自动完成”来保存历史,所以让我们试着做点什么吧 这里有一个想
<input autocomplete="off">
但是我注意到这也
(2) 禁用历史记录更改,例如,当您转到另一个站点并单击历史记录后退按钮时,输入字段将为空
您可以在这里尝试:
只有插入到第一个字段中的文本才能进入新页面并再次返回
有没有办法只起作用(1),而不起作用(2)?这个解决方案应该有效,但并不理想:只是分享一个想法。 我认为你不能用“自动完成”来保存历史,所以让我们试着做点什么吧 这里有一个想法:历史记录基于输入名称,因此您可以使用一个不常见的名称(但仍然是常量,例如:“email\u fakeSuffix\u 194h5g48”)从其他站点关闭自动完成功能 然后,若要从此输入的前一个值关闭自动完成,您可以在每次加载页面时更改其名称(即,附加一个随机数)。问题是,这样做还将关闭历史记录 因此,主要思想是使用一个不常见输入的名称,并在提交表单之前更改该名称:
- 浏览器不会保存该值,因为名称已更改
- 如果您导航到另一个页面而不提交,则该值将 仍然无法设置,因为您尚未更改名称
<form>
<input id="input1" name="email_fakeSuffix_194h5g48">
<input name="input2">
<input type="submit">
</form>
如果我不够清楚,您可以告诉我。这对我很有用(使用jQuery 1.9.1):
你解决了这个问题吗?在同一问题上苦苦挣扎。挺烦人的@Danield这是否解决了原始问题的两个方面?
$('form').submit(function() {
$('#input1').attr('name', 'email_fakeSuffix_194h5g48_' + Date.now());
//SUBMIT THE FORM (MAY DO NOTHING AT ALL)
});
$(function(){
$('input[type=text]').prop('autocomplete','off');
$('#formid').on('submit', function(e){
$('input[type=text]').removeProp('autocomplete');
});
});