36

input type textユーザーがアカウント設定ページメールとパスワードを変更できるようにしています。

Chromeの自動入力を停止するにはどうすればよいですか。

Chromeはログインinput dataページから記憶し、アカウント設定ページに自動入力します。

アカウント設定ページでChromeの自動入力でinput メールアドレスとパスワードを変更する

4

14 に答える 14

59

これをハックに依存することはもうありません。autocomplete を new-password に設定すると、意図したとおりに機能します。

<input type="password" name="pwd" autocomplete="new-password">

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-autocomplete

于 2016-03-23T16:53:47.803 に答える
21

解決策 1:タグ の下に 2 行のコードを配置する<form ..>とうまくいきます。

<form id="form1" runat="server" >
<input style="display:none" type="text" name="fakeusernameremembered"/>
<input style="display:none" type="password" name="fakepasswordremembered"/>

...

続きを読む

解決策 2:要素から「name」属性と「id」属性を削除し、1 ミリ秒後にそれらを割り当てます。これを書類に入れて準備します。

$('form[autocomplete="off"] input, input[autocomplete="off"]').each(function () {

                var input = this;
                var name = $(input).attr('name');
                var id = $(input).attr('id');

                $(input).removeAttr('name');
                $(input).removeAttr('id');

                setTimeout(function () {
                    $(input).attr('name', name);
                    $(input).attr('id', id);
                }, 1);
            });

解決策 3: Chrome 60.0.3112.101 でテスト済み

<input type="password" name="pwd" autocomplete="new-password">
于 2014-08-10T13:46:49.693 に答える
11

この問題は、バージョン 55.0.2883.87 m の時点でも存在します。(Windows 10 上)

フォームにオートコンプリート属性を設定するなどのソリューション

または、偽の入力フィールドを追加して送信前に name 属性を削除しても機能しなくなりました。これは、削除時に Chrome がそれらを無視するか、即座にオートコンプリートするためです。

現在意図したとおりに機能させる唯一の方法は、autocomplete 属性を「new-password」に設定することです。

<input type="text" name="text" autocomplete="new-password"> 

非パスワードタイプの入力でも。

于 2016-12-27T18:26:37.587 に答える
4

Chrome の最新バージョン (46.0.2490.86) では、動作が再び変更されたようです。今回、AutoFill は、ここで提案されているautocomplete、またはreadonlyその他の回避策とは関係ありません (およびこれらのバグ レポートhttps://code.google.com/p/chromium/issues/detail?id=468153https://bugs.chromium .org/p/chromium/issues/detail?id=587466 )

代わりに、AutoFill は入力ボックスの横にあるラベルを見て、それに基づいて (ID と名前と同様に) AutoFill を生成するようになりました。大きな手がかりは、AutoFill が実際に一度に複数のフィールド (たとえば、Street、Suburb、State) を入力する方法です。フィールド間の空間的な関係を識別するために、いくつかの手法 (ラベル、名前、ID) を使用しているようです。

したがって、回避策は、非表示のスパン内のラベルに迷惑テキストを挿入することです...

S<span style="display:none">_</span>uburb:

...さらに、ID と名前を難読化/削除します。これが、Suburb AutoFill を妨げていた唯一のことでした。

于 2015-11-16T23:56:11.860 に答える
3

残念ながらautocomplete="off"、私にはうまくいきませんでした(もう)。だからここに私の解決策があります:

最初に要素からname" " および " " 属性を読み取ってから削除します。id次に、1 ミリ秒後に、以前に読み取った値でこれらの属性を再度設定します。私にとってはうまくいきます:)

<form autocomplete="off"><br />
<input type="text" name="username" id="username" /><br />
<input type="password" name="password" id="password" /><br />
</form>

<pre>
    $('form[autocomplete="off"] input, input[autocomplete="off"]').each(function(){

        var input = this;
        var name = $(input).attr('name');
        var id = $(input).attr('id');

        $(input).removeAttr('name');
        $(input).removeAttr('id');      

        setTimeout(function(){ 
            $(input).attr('name', name);
            $(input).attr('id', id);            
        }, 1);
    }); 
</pre>
于 2014-05-30T09:19:53.523 に答える
3

autocomplete="new-password" を設定することで機能します。テストの前に、まず閲覧データを消去します

于 2017-04-21T04:45:51.530 に答える
2

Chrome は autocomplete="anything" と隠しフィールドの両方を無視します。HTML/CSS の回避策は、実際のパスワード フィールドの前に絶対位置のパスワード フィールドを使用することです。

<input type="text" name="username" required>
<input style="visibility: hidden; position: absolute; left:-99999px" type="password" name="fakepasswordfieldtoturnoffautocomplete">
<input type="password" name="password" required>

編集:

他の重複した質問の他の複数の回答で言及されているように、これまでで最もエレガントな実用的なソリューションは次のとおりです。

 <input type="password" readonly onfocus="this.removeAttribute('readonly');"/>
于 2015-11-12T15:04:33.563 に答える
2

これを解決しようとしてほとんど窓から飛び出しました... Googleは現在、オートコンプリートのオンとオフを無視しているようです。私は古い修正で使用していました(偽の隠しパスワードフィールドなど-これも機能しなくなりました)。Living Standard 仕様に基づく - 代わりに自動入力トークンを使用する必要があります。適切なユースケースのコンテキストでそれらを使用する必要があります。これが役に立てば幸いです。

https://html.spec.whatwg.org/multipage/forms.html#autofilling-form-controls:-the-autocomplete-attribute

于 2016-08-22T05:15:59.747 に答える
0

これを試して:

<div id="form_container">
    <input type="text" name="username" autocomplete="off">
    <input type="password" name="pwd" autocomplete="off">
    <input tytep="submit" name="login" id="login" value="Log In">
</div>`

jquery コード:

jQuery("#login").click(function(){
    jQuery("#form_container").wrap('<form method="post"></form>');
    jQuery("form").submit();
});

入力フィールドをフォームにラップしないと、クロムのオートフィルは表示されません。

送信ボタンをクリックしたら、フォームの周りのフィールドを閉じて、フォームで a を起動するだけですsubmit()

于 2015-10-08T08:54:58.373 に答える