私は自分のウェブサイトへの訪問者が可能な限り最高の体験を得られるようにしたいので、彼らがLastPassと他のパスワードマネージャーを使用できるようにしたいと思います。
私の訪問者がこれらのプラグインのいずれかを使用しているかどうかを識別する方法はありますか?
私は自分のウェブサイトへの訪問者が可能な限り最高の体験を得られるようにしたいので、彼らがLastPassと他のパスワードマネージャーを使用できるようにしたいと思います。
私の訪問者がこれらのプラグインのいずれかを使用しているかどうかを識別する方法はありますか?
回答:
はい。
ユーザーはLastPassをブラウザプラグインとしてインストールできます。したがって、クライアント側のスクリプト言語を使用して、LastPassがインストールされているかどうかを確認できます。
たとえば、を使用NavigatorPlugins.plugins
するとPluginArray
、アプリケーションにインストールされたプラグインをリストするオブジェクトを取得できます。
function getLastPassVersion() {
var lastpass = navigator.plugins['LastPass'];
if (lastpass === undefined) {
// LastPass is not present
return undefined;
}
return lastpass.version;
}
また、あなたが求めているのは、ブラウザのフィンガープリント技術によって一般的に実装され使用されていることにも注意してください。
navigator.plugins
保護、プライバシーやリターン偽の結果を:developer.mozilla.org/en-US/docs/Web/API/NavigatorPlugins/...
私の訪問者がこれらのプラグインのいずれかを使用しているかどうか、およびそれをサポートする最善の方法を識別する方法はありますか?
パスワードマネージャをサポートする最も良い方法は、通常の<form>
タグと通常のフォームを使用することです。賢いことを何もしなければ、パスワードマネージャーがその仕事をします。
Javascriptを使用して、ユーザー名/パスワードフィールドの入力速度を検出できます。可変レートは、誰かが手動で入力していることを示唆しますが、一定レートまたはキーストロークがまったくない(コピーと貼り付け)ことは、誰かがパスワードマネージャーを使用していることを意味します。
実際の質問に答えるには、ユーザーがLastpassを使用しているかどうかを検出する1つの方法は、何らかのタイプのログインフィールドを提供し、jQueryなどを使用して、Lastpassが自動入力可能なログインフィールドに挿入する「バックグラウンドイメージ」を確認することです。
メール入力フィールドの例を次に示します。styleタグ内のすべてのものはLastpassによって追加されています。
<input type="text" class="form-control" id="inputEmail" placeholder="Email" style="cursor: pointer; background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAAXNSR0IArs4c6QAAAPhJREFUOBHlU70KgzAQPlMhEvoQTg6OPoOjT+JWOnRqkUKHgqWP4OQbOPokTk6OTkVULNSLVc62oJmbIdzd95NcuGjX2/3YVI/Ts+t0WLE2ut5xsQ0O+90F6UxFjAI8qNcEGONia08e6MNONYwCS7EQAizLmtGUDEzTBNd1fxsYhjEBnHPQNG3KKTYV34F8ec/zwHEciOMYyrIE3/ehKAqIoggo9inGXKmFXwbyBkmSQJqmUNe15IRhCG3byphitm1/eUzDM4qR0TTNjEixGdAnSi3keS5vSk2UDKqqgizLqB4YzvassiKhGtZ/jDMtLOnHz7TE+yf8BaDZXA509yeBAAAAAElFTkSuQmCC"); background-attachment: scroll; background-size: 16px 18px; background-position: 98% 50%; background-repeat: no-repeat;" autocomplete="off">
これは、ユーザーがLastpassを使用しているかどうかを検出する最も効果的な方法ではないかもしれませんが、間違いなく動作します:)