ответ? Динамически изменяйте значения name
и autocomplete
при загрузке страницы. Вы можете сделать это через PHP, JS, что бы вы ни использовали. В моем случае я сделал это в PHP, добавив отметку времени (в секундах) к значениям name
и autocomplete
:
<input type="text" id="example" name="whatever<?php echo time(); ?>" autocomplete="whatever<?php echo time(); ?>">
, которая становится:
<input type="text" id="example" name="whatever1525376494" autocomplete="whatever1525376494">
Это будет гарантировать, что Chrome не будет автоматически выдаваться при каждой новой загрузке страницы.
В моем случае этого было недостаточно, потому что я отправляю одну и ту же форму несколько раз без перезагрузки страницы, и большинство пользователей будут делать то же самое. А это значит, что мне нужно менять имя и значения автозаполнения после каждой отправки формы.
Чтобы решить эту проблему, я добавил этот бит JS, чтобы обойти это. Он добавляет добавочное целое число к концу этих значений каждые 2,5 секунды, что покрывает его.
if ($('#example').length) {
var dynamicName = $('#example').attr('name');
var dynamicCounter = 0;
setInterval(function(){
var dynamicVal = dynamicName + dynamicCounter;
$('#example').attr('autocomplete', dynamicVal).attr('name', dynamicVal);
dynamicCounter += 1;
}, 2500);
}
Надеюсь, это поможет!