Safari / Mac OS Xのロシア語のパスワード

今日、私はそのような問題に遭遇しました。ロシア語の文字を含むパスワードを入力する必要があります。 しかし、そこにありました。 Safariは言語の切り替えを拒否しました! 単純な解決策は、パスワードをTextEditに入力してパスワードフィールドにコピーすることですが、本文にはこの問題に対するより洗練された解決策が必要でした。 そして今、CSS-JitsuとJavascript-fuのトリックを思い出し、金曜日の酔っぱらいに行きたい、またはついに三つ編みに行きたいという欲求を克服し、謙虚な召使が戦いに突入しました...





解決策は驚くほど簡単でしたが、その方法は非常に長いものでした。 最初の最も明白なステップは、パスワードタイプのすべてのフィールドをテキストタイプのフィールドに置き換えることでした。 しかし、ユーザーが入力したテキストを非表示にする方法は次のとおりです。 最初の試行解は、テキストを透明にすることでした: color: rgba(0,0,0,0)



。 ただし、この場合、ユーザーは入力した文字数とフィールドが空かどうかをまったく確認しませんでした。 要するに、 Surfin 'Safariで長い検索をした後私はすばらしいCSSプロパティに-webkit-text-security



ました: -webkit-text-security



! このプロパティは、3番目のバージョンから始まるすべてのSafari -webkit-text-security: square



ディスク( -webkit-text-security: disk



)、円( -webkit-text-security: circle



)、または正方形( -webkit-text-security: square



)を-webkit-text-security: square



。 結果として、次のJavaScript関数があります。



 function() { var F = document.forms; for(var j=0; j<F.length; ++j) { var f = F[j]; for (var i=0; i<f.length; ++i) { if (f[i].type.toLowerCase() == "password") { var el = f[i]; el.type = "text"; el.style.cssText = "-webkit-text-security: disc"; } } } }
      
      







しかし、ブックマークは、ブックマークバーにドラッグして使用する必要があり、私は(明らかな理由で)ここに配置できません。 したがって、そのコードのみを提供します。



javascript:(function(){var F=document.forms;for(var j=0;j<F.length;++j){var f=F[j];for(var i=0;i<f.length;++i){if(f[i].type.toLowerCase()=="password"){var el=f[i];el.type="text";el.style.cssText="-webkit-text-security:disc";}}}})();







健康に使用してください。 ;-)



ps誰かがこの問題を根本的に根絶する方法を知っているなら、この投稿nafigを聞いて取り壊してうれしいです。 どうやら、問題の根本はOS自体の腸に隠されているようです。 Mac OS Xのすべてのパスワードフィールドは同様に動作します(10.5.7があります)。



All Articles