iOS 9.0.1のSafariでログインフォームの自動入力が効かない
はじめに
社内で「iOS 9.0.1にアップデートをしたら社内システムのログインページで自動入力が効かなくなったんだけど…」と相談された際に調べたことのまとめです。
現象
iOS 9.0.1の端末において該当のログインページでユーザー名とパスワードの自動入力をしようとするとパスワードしか自動入力されない。
また、別のユーザー名とパスワードを入力した場合、保存確認がされないという現象でした。
iOS 8.4の端末で確認したところ現象の再現はしませんでした
しかし、他のシステムや一般的なWEBサービスでは自動入力が効くことからiOS 9.0.1と社内システムのどちらか(あるいは両方)に原因があると推測しました。
検証
問題のシステムではユーザー名とパスワードのinputタグのname値にLoginCode
とLoginPassword
という名称が使用されていました。
ユーザー名とパスワードという入力欄ではなかったからだと思います。
正常動作の検証
まずは最も簡素なログインフォームを作成し、パスワードの保存と自動入力が効くかどうかをチェックしました。
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" value="login">
この場合は問題なく機能が動作しました。
パスカルケースの使用
<input type="text" name="UserName">
<input type="password" name="Password">
<input type="submit" value="login">
この場合も特に問題はありませんでした。
名称の問題
name値に問題があるのか?と思い、片方ずつチェックをしようと以下のように変更しチェックしました。
<input type="text" name="LoginCode">
<input type="password" name="password">
<input type="submit" value="login">
この時点で挙動がおかしくなりました。
自動入力がパスワードにしか働かなくなりました。
LoginCodeがおかしい?
LoginCode
という名称が問題なのかと思い、以下のように変更しました。
<input type="text" name="LoginCode1">
<input type="password" name="LoginCode2">
<input type="submit" value="login">
この場合は、パスワードの保存確認すら表示されませんでした。
Safariからログインフォームとして認識されていないようです。
結論
ログインフォームでinputタグのname値にLoginCode
という文字列が含まれる場合、iOS 9.0.1のSafariにおいてユーザー名とパスワードの保存と自動入力機能が正常に機能しないようです。
おわり
Googleなどで検索をかけてもいまいち情報が掴めなかったため、同様の現象にあった人が(もしも)いた場合のために投稿しました。
誤りなどがあればご指摘いただけると幸いです。
Author And Source
この問題について(iOS 9.0.1のSafariでログインフォームの自動入力が効かない), 我々は、より多くの情報をここで見つけました https://qiita.com/muro/items/4cc6b0f1f4da6e81a1be著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .