6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

各ブラウザのオートコンプリートについて

Last updated at Posted at 2018-05-15

ブラウザには一度入力欄に入力した値を保持して、再表示してくれる機能があります。
また、それらを無効化する手段が数々あるのですが、例の如くブラウザごとに挙動が異なることがあります。
軽くそれらを調べてみました。
検証に使ったコードはこちら

注意:単純に動くかを確認する目的です。実用上の問題(セキュリティ等)については深く考慮されていません
cfe2f474ea7b2cbf71a51588884babea.png

環境

  • Microsoft Edge 41.16299.402.0
  • Google Chrome 66.0.3359.170(Official Build) (64 ビット)
  • Mozilla Firefox for linux Mint バージョン 59.0.2 (64 ビット)

結果

MS Edge Firefox chrome
リロード text textarea text checkbox file radio textarea all clear
スーパーリロード XXX 不明 XXX all clear all clear
ブラウザバック text textarea text checkbox file radio textarea text checkbox radio textarea
リンク all clear all clear all clear
autocomplete="off" text textarea all clear(textarea除く) all clear
autocomplete="none" test textarea text checkbox file radio textarea all clear
location.reload(true) all clear all clear all clear
location.reload(false) all clear text checkbox file radio textarea all clear
default value text,textareaは上書きされる
checkbox等はdefaultが無視される
上書きされる(passwordを除く) default へ

各項目について

リロード

ツールバー上のリロードボタンもしくはF5

スパーリロード

フルリロード、強制再読み込みとも。ブラウザのキャッシュを使用せずにサーバからページを取得すること。

  • MS Edge: 不明。検証できず。
  • FireFox: Ctrl+F5
  • chrome: Ctrl+F5

ブラウザバック

値を入力した後にリンクされてるページに移動し、その後ブラウザバックをしてみる。

リンク

値を入力した後にリンクされているページに移動し、再びリンクで元のページに戻る。

autocomplete="off"

inputタグの属性「autocomplete」をoffに設定,これによりオートコンプリートされないようになる(ハズ)。
値を入力したのちリロード。

autocomplete="none"

autocomplete 属性に off が設定されている場合でも、ブラウザはオートコンプリートを行うことがあります。この予想外の挙動に開発者は戸惑うかもしれません。
オートコンプリートを完全に無効にするには、その属性値に 任意の文字列を代入 するというトリックを用います。

autocomplete="nope"
任意に指定した文字列は 属性値として定義された値 に含まれていませんが、ブラウザのオートコンプリート機能は無効になります。
引用元

に従いました。

location.reload(true)

開発ツールのコンソールから実行。引数trueでサーバから取得。

location.reload(false)

開発ツールのコンソールから実行。引数falseでキャッシュからリロード。

default value

各要素にデフォルト値を設定。値を入力したのちリロード。

各ブラウザの挙動について

MS Edge

まず、スーパーリロードの方法が分からなかった。そしてautocomplete属性はきかないようだ。またツールバー上の戻るボタンとlocation.reload(false)の挙動が異なる点が不可解だ。
リロードボタンではdefault valueの再読み込みはしないようだ。

Firefox

autocomplete="off"を設定しておけば特に問題はなさそう。

chrome

ブラウザバック以外オートコンプリートされない?

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?