すべての Web ログインを記憶するためにブラウザに組み込まれたパスワード マネージャーを使用している場合、または LastPass に関する最近の出来事を考慮してパスワード マネージャーの使用を検討している場合、必然的に、パスワードを保存できない特定のサイトに遭遇することになります (または今後も)。パスワード。ただし、マウスを 1 ~ 2 回クリックするだけで、この制限を回避し、これらの非協力的なサイトのパスワードをブラウザに記憶させることができます。
編集者注: もちろん、LastPass を使用している場合は、この機能が組み込まれています。この記事は、パスワードをクラウドに保存する代わりに、組み込みのブラウザパスワード保存を使用したい人を対象としています。
一部のサイトではパスワードを保存できないのはなぜですか?
この答えは非常に単純で、フォームや入力要素の「オートコンプリート」属性が「オフ」に設定されていることが原因です。この属性は Internet Explorer 5 で導入され、その名前が示すとおり、明示的にオフになっているフィールドにオートコンプリート機能が適用されるのを防ぎます。
PayPal のサイト (パスワードを保存することはできません) を見るとわかるように、ログイン セクションのパスワード フィールドのオートコンプリート値がオフに設定されています。その結果、ブラウザはオートコンプリート パスワード データベースのこのフィールドを選択しません。
修正: 単純な JavaScript 関数
幸いなことに、修正も同様に簡単です。この属性が存在する場合は、この属性の値を「on」に変更するだけです。 DOM (ドキュメント オブジェクト モデル) を操作する JavaScript の機能のおかげで、ブックマークをクリックするだけでこれを簡単に行うことができます。
JavaScript 関数は以下のリンクに埋め込まれています。リンクをブックマーク バーにドラッグするか、リンクを右クリックしてターゲット リンクをブックマークすることができます。これが完了したら、ブックマークをクリックするだけで、現在のページで「パスワードの保存を許可」スクリプトが実行されます。
上記のリンクが機能しない場合は、リンクのソースをここに示します。以下をソース URL としてブックマークを作成できます。
|
javascript:(function(){var%20ac,c,f,fa,fe,fea,x,y,z;ac="autocomplete";c=0;f=document.forms;for(x=0;x <f.length;x++){fa=f[x].attributes;for(y=0;y<fa.length;y++){if(fa[y].name.toLowerCase()==ac){fa [y].value="on";c++;}}fe=f[x].elements;for(y=0;y<fe.length;y++){fea=fe[y].attributes;for(z =0;z<fea.length;z++){if(fea[z].name.toLowerCase()==ac){fea[z].value="on";c++;}}}}alert("有効%20'"+ac+"'%20on%20"+c+"%20オブジェクト。");})(); |
私たちのテスト (PayPal をテスト サイトとして使用) によると、これは Firefox 4 と Internet Explorer 9 で期待どおりに機能しました。残念ながら、オートコンプリートが有効になっているという成功メッセージが表示されたにもかかわらず、Chrome 内では機能させることができませんでした。
これを使用する手順は各ブラウザでほぼ同じですが、Internet Explorer では 1 つの追加手順が必要です。
Firefoxでの使用法
パスワードの保存が許可されていないサイトにアクセスした場合は、「パスワードの保存を許可する」スクリプトを実行してください。以下のような通知が表示されるはずです。
通常どおりユーザー名とパスワードを入力すると、ログイン時にパスワードを保存するように求められます。
次回このページにアクセスすると、ユーザー名は自動的に入力されますが、パスワードは入力されません。パスワードを自動入力するには、まずユーザー名フィールドにフォーカスを置く必要があります。パスワードフィールドにフォーカスがある場合は、マウスクリックまたは Ctrl + Tab を使用できます。
これで、クリックまたは Tab キーを使用してユーザー名フィールドからフォーカスを移動すると、パスワードが自動的に入力されます。
Internet Explorerでの使用方法
パスワードの保存が許可されていないサイトにアクセスした場合は、「パスワードの保存を許可する」スクリプトを実行してください。以下のような通知が表示されるはずです。
通常どおりユーザー名とパスワードを入力すると、ログイン時にパスワードを保存するように求められます。
次回このページにアクセスすると、ユーザー名は自動的に入力されますが、パスワードは入力されません。 「パスワードの保存を許可」スクリプトを再度実行する必要があります。上記と同じ通知が表示されるはずです。
パスワードを自動入力するには、まずユーザー名フィールドにフォーカスを置く必要があります。パスワードフィールドにフォーカスがある場合は、マウスクリックまたは Ctrl + Tab を使用できます。
これで、クリックまたは Tab キーを使用してユーザー名フィールドからフォーカスを移動すると、パスワードが自動的に入力されます。
JavaScript ソース
スクリプトがどのように機能するか興味がある場合は、適切にフォーマットされ、コメントが付けられたソースをここに示します。必要に応じて自由に変更してください。
<tt><pre> function () {
var ac, c, f, fa, fe, fea, x, y, z;
//ac = autocomplete constant (attribute to search for)
//c = count of the number of times the autocomplete constant was found
//f = all forms on the current page
//fa = attibutes in the current form
//fe = elements in the current form
//fea = attibutes in the current form element
//x,y,z = loop variables
ac = "autocomplete" ;
c = 0;
f = document .forms;
//cycle through each form
for(x = 0; x < f.length; x++) {
fa = f[x].attributes;
//cycle through each attribute in the form
for(y = 0; y < fa.length; y++) {
// check for autocomplete in the form attribute
if(fa[y].name.toLowerCase() == ac) {
fa[y].value = "on" ;
c++;
}
}
fe = f[x].elements;
//cycle through each element in the form
for(y = 0; y < fe.length; y++) {
fea = fe[y].attributes;
//cycle through each attribute in the element
for(z = 0; z < fea.length; z++) {
// check for autocomplete in the element attribute
if(fea[z].name.toLowerCase() == ac) {
fea[z].value = "on" ;
c++;
}
}
}
}
alert( "Enabled '" + ac + "' on " + c + " objects." );
} </ pre > </ tt >





