chrome 66の場合、以前使用していたようなテキスト入力のオートコンプリートを無効にする方法が見つかりませんでした。autocomplete="off"
およびautocomplete="new-password"
はChrome 63まで有効でしたが、もう機能しません。
この機能を無効にする新しい方法はありますか?
よろしくお願いします!
これに遭遇しました-Googleはフィールドid
またはname
を調べて、そのフィールドのデータが保存されているかどうかを判断します。サイトの作成者として、ランダムに生成された名前/ IDを使用するか、フィールドにautocomplete=<random string>
を追加します。
この遊び場を参照してください: https://jsfiddle.net/mfdc22pz/1/
ところでChrome Canary(68)はこのバグを修正しました!
要するに:name="foo_90553-4"
のようなランダムタグを追加します。
少しjQueryを使用して解決しました(ただし、単純なJavaScriptを使用できます)。
問題は、chromeがフィールドのnameおよび/またはidを調べることです。私が見つけた唯一の解決策は、それらを削除することです属性、フィールドの実際の名前でdata-name attributeを追加し、JavaScriptを使用して送信後にname属性を再アタッチします。
例があります
<form onsubmit="return formSubmit(this);" autocomplete="off">
<input type="text" data-name="dateStart" class="form-control" />
</form>
<script>
function formSubmit(form) {
console.log(form);
$(form).find('.form-control').each(function(){
$(this).attr('name', $(this).data('name'));
});
console.log(form);
query = jQuery(form).serialize();
window.open("/YOUR_URL/?" + query, "_self");
return false;
};
</script>
私にとって効果的なのは、パスワードマスクを装った非パスワード入力を使用することです。実際のパスワードフィールドでオートコンプリートをオフにするようにブラウザーベンダーと闘うと、おそらくイライラすることになります。
これがサンドボックスです: https://codesandbox.io/s/yp3pyl4rkv
より多くの機能を備えた同様のアプローチは https://github.com/karaggeorge/react-better-password にあります