webdevqa.jp.net

Chrome)でのパスワードの記憶とオートコンプリートのヒューリスティック

ログインフォームのデータを保存し、次回の訪問時にオートコンプリートすることを決定するChromeのヒューリスティックは何ですか?

Chromeが特定のフォームに認証情報を保存していない場合、その理由は何でしょうか?私は次のことを知っています:

実験的には、これだけでは不十分です。両方の基準を満たし、資格情報がオートコンプリートされないログインページ(プライベート、申し訳ありませんが、コードの要点は以下にあります)があります。


これが私の特定の問題です。別の方法で解決しました( Autofill をインストールし、フォームに資格情報を入力させることで)が、なぜChrome is n ')なのか知りたいのですが資格情報を保存することを提案します。

Webサイト(私が作成したものではなく、一般にアクセスできないもの)には、ユーザー名とパスワードが必要です。これは、かなり標準的な(私の知らない人の目には)フォームを使用します。これは次のようになります(ネストされた<div>などを多く省略し、ここにfooXXXとして示されている属性と関数は私が名前を変更しました)。

<form name="aspnetForm" method="post" action="default.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="aspnetForm">
  <table>
    <tr>
      <td>Username:</td>
      <td><input name="foo$name" type="text" id="foo_name" tabindex="1" autocomplete="off" onkeyup="fooFunction()" style="width:175px;" /></td>
    </tr>
    <tr>
      <td>Password:</td>
      <td><input name="[email protected]" type="password" id="foo_pass" tabindex="2" value="" autocomplete="off" style="width:175px;" /></td>
    </tr>
  </table>
</form>

このサイトの資格情報をブラウザに記憶させたい。この機能はブラウザで有効になっていますが、FirefoxとChromeの両方が名前とパスワードを記憶しないようにする、このサイトに特有の問題があります。

autocomplete="off"autocomplete="on"に変更するためのユーザースクリプト(FirefoxではGreasemonkeyスクリプト、Chromeでは解凍された拡張機能)を作成しました。

document.querySelector("#foo_user").setAttribute("autocomplete", "on");
document.querySelector("#foo_pass").setAttribute("autocomplete", "on");

Firefoxでは、これには望ましい効果があります。Firefoxはパスワードを記憶するように提案し、次にログインページにアクセスすると、資格情報が自動入力されます。

Chrome(27.0.1453.93、Linux)にはそのような運はありません。パスワードを覚えておくように求められず、ユーザー名フィールドの履歴も取得されません。スクリプトを確認しました。 input要素を検査することによって実行され、autocomplete="on"を表示します。

これらの行をユーザースクリプトに追加しようとしましたが、状況は改善されません。

document.querySelector("#foo_user").removeAttribute("onkeyup");
document.querySelector("#foo_pass").removeAttribute("value");

ChromeのヒューリスティックはFirefoxとどのように異なり、資格情報を記憶させるにはどうすればよいですか?

autocomplete = on 拡張子を使用します。

Webページの「autocomplete = off」を「autocomplete = on」に変更して、パスワードが記憶されるようにします。

1
stderr