ブラウザに保存されたパスワードの自動入力をトリガーするには?

StackOverflow https://stackoverflow.com/questions/2620927

  •  26-09-2019
  •  | 
  •  

質問

私は、Webアプリケーションが(どのロードすべてのJSファイルの文書を除き、何ら事前に生成されたHTML)を純粋なJavaScriptで書かれていない持っています。

このアプリはdocument.readyイベントイベントがトリガされたときに動的に作成されたログインフォームが含まれています。私は表示にブラウザをだます「パスワードを覚えていますか?」 AJAXを使用してログインする前に非表示のiframeにログインフォームを掲示することにより、ダイアログ(この部分は明らかに動作しますので、Firefoxでパスワードが、保存されたパスワードリストに表示されます)が、ログイン画面が後に再びロードされた後に満たされることはありません飽きない保存されたパスワード時間。同じことは、FirefoxとSafariで発生します。

私はトリガーオートフィルに呼び出すことができますが、私が行うことができるものや、いくつかの機能ですか?

UPDATE:オートフィルは、最初のページの読み込み時にSafariで動作しますが、いないユーザーがログアウトすると、ログインフォームは、ページのリロードなしで再作成されます。 Firefoxではそれが動作しません。

役に立ちましたか?

解決

また必ずすべての入力(多分フォーム)を作成、form要素でフォーム要素をラップするには、変更されないユニークnameid属性があります。名前は、おそらく何か度のブラウザでは、この情報を使用しないで、本当にわから先のパスワード等のためのpasswordなどの記述、が、「オートサジェスト」/「魔法の杖」あなたが標準的な名前を使用する場合の機能がよりよく働くかもしれなければなりません。

そしてもちろん、あなたが任意のオートサジェストを設定していないことを確認する必要があり/ falseにオートフィル属性(あなたがいずれかを使用している場合は、JSのフレームワークは、いくつかの理由のためにそうかもしれません)。

第三の可能性は、いくつかのブラウザは多分あなたのスクリプトがロードされる前にオートフィルを行い、ページにフォームを書き込み、フォームの静的なhtmlのバージョンを作ってみると、のことのが動作するかどうかを確認ということです。

(静的フォームの作業であれば)最も簡単な解決策は、ログアウト時にページのリロードを(さわやかな、本当に良いことですので、あなたはおそらく、とにかくログアウト後に実行されるJavaScriptの「状態」を破棄したくない)強制することです

他のヒント

一部のブラウザでは、ローカルのユーザ名とパスワードストレージを有効にするには、「フォーム」のタグが必要です。 AJAXアプリケーションで同じ問題を抱えていたし、私の場合、私はちょうど

追加
<form>...</form>

タグます。

あなたが同様のトリックを使用することはできません - 。フォームをロードするためのiframeを使用して、ログインフォームがあなたに送信されたときに、実際には、保存されたパスワードが含まれていますインラインフレームフォームを提出

私はあなたがインラインフレーム形式でパスワードの長さを測定して、*の数が同じに見えるフォームのパスワードフィールドを埋めることができると思う目に見える形で表示される「パスワード」を取得する。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top