ブラウザに組み込まれているパスワードマネージャを使用してすべてのWebログインを記憶している場合、またはLastPassの最近のイベントに照らして検討している場合、必然的に特定のサイトに出くわし、単に保存することができなくなります。パスワード。ただし、マウスを1、2回クリックするだけで、この制限を回避し、これらの非協力的なサイトのパスワードをブラウザに記憶させることができます。
編集者注: もちろん、LastPassを使用している場合、この機能は直接組み込まれています。この記事は、パスワードをクラウドに配置する代わりに、組み込みのブラウザーパスワード保存を使用することを好む人を対象としています。
一部のサイトでパスワードの保存が許可されないのはなぜですか?
この答えは非常に単純です。これは、フォームや入力要素の「オートコンプリート」属性が「オフ」に設定されているためです。この属性はInternetExplorer 5によって導入され、その名前が示すとおりに機能し、オートコンプリート機能が明示的にオフになっているフィールドに適用されないようにします。
PayPalのサイト(パスワードを保存することはできません)で確認できるように、ログインセクションのパスワードフィールドのオートコンプリート値はオフに設定されています。その結果、ブラウザはオートコンプリートパスワードデータベースのこのフィールドを取得しません。
修正:単純なJavaScript関数
幸いなことに、修正も同様に簡単です。この属性の値が存在する場合は、それを「オン」に変更するだけです。 JavaScriptがDOM(ドキュメントオブジェクトモデル)を操作する機能のおかげで、ブックマークをクリックするだけでこれを簡単に行うことができます。
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( "Enabled%20 '" + ac + "'%20on%20" + c + "%20objects。");})(); |
テスト(テストサイトとしてPayPalを使用)から、これはFirefox4とInternetExplorer 9で期待どおりに機能しました。残念ながら、オートコンプリートが有効になっているという成功メッセージにもかかわらず、Chrome内で機能させることができませんでした。
これを使用する手順は、Internet Explorerを使用する各ブラウザーでほぼ同じであり、追加の手順が1つ必要です。
Firefoxでの使用法
パスワードの保存が許可されていないサイトにアクセスした場合は、「パスワードの保存を許可する」スクリプトを実行してください。次のような通知が表示されます。
通常のようにユーザー名とパスワードを入力すると、ログイン時にパスワードを保存するように求められます。
次にページにアクセスすると、ユーザー名は自動的に入力されますが、パスワードは入力されません。パスワードが自動入力されるようにするには、最初にユーザー名フィールドにフォーカスを置く必要があります。パスワードフィールドにフォーカスがある場合は、マウスクリックまたはCtrl + Tabのいずれかを使用できます。
これで、クリックまたはタブを使用してユーザー名フィールドからフォーカスを移動すると、パスワードが自動的に入力されます。
InternetExplorerでの使用法
パスワードの保存が許可されていないサイトにアクセスした場合は、「パスワードの保存を許可する」スクリプトを実行してください。次のような通知が表示されます。
通常のようにユーザー名とパスワードを入力すると、ログイン時にパスワードを保存するように求められます。
次にページにアクセスすると、ユーザー名は自動的に入力されますが、パスワードは入力されません。 「パスワードの保存を許可する」スクリプトを再度実行する必要があり、上記と同じ通知が表示されます。
パスワードが自動入力されるようにするには、最初にユーザー名フィールドにフォーカスを置く必要があります。パスワードフィールドにフォーカスがある場合は、マウスクリックまたはCtrl + Tabのいずれかを使用できます。
これで、クリックまたはタブを使用してユーザー名フィールドからフォーカスを移動すると、パスワードが自動的に入力されます。
JavaScriptソース
スクリプトがどのように機能するか知りたい場合は、ここに適切にフォーマットされコメントされたソースがあります。必要に応じて自由に変更してください。
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;
//フォームの各要素を循環します
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。");
}