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

ブラウザには一度入力欄に入力した値を保持して、再表示してくれる機能があります。
また、それらを無効化する手段が数々あるのですが、例の如くブラウザごとに挙動が異なることがあります。
軽くそれらを調べてみました。
検証に使ったコードは[こちら](https://gist.github.com/mirai-is-here/22d88bd6224c46d0407502bfec302e6d)

**注意:単純に動くかを確認する目的です。実用上の問題(セキュリティ等)については深く考慮されていません**
![cfe2f474ea7b2cbf71a51588884babea.png](https://qiita-image-store.s3.amazonaws.com/0/178372/84f9ee24-e11b-d47a-5005-12942db196a3.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は上書きされる  <br> checkbox等はdefaultが無視される  | 上書きされる(passwordを除く)      | default へ               |  
  
### 各項目について
#### リロード
ツールバー上のリロードボタンもしくは<kbd>F5</kbd>

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

+ MS Edge: 不明。検証できず。
+ FireFox: <kbd><kbd>Ctrl</kbd>+<kbd>F5</kbd></kbd>等
+ chrome: <kbd><kbd>Ctrl</kbd>+<kbd>F5</kbd></kbd>等

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

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

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

#### autocomplete="none"
>autocomplete 属性に off が設定されている場合でも、ブラウザはオートコンプリートを行うことがあります。この予想外の挙動に開発者は戸惑うかもしれません。
>オートコンプリートを完全に無効にするには、その属性値に 任意の文字列を代入 するというトリックを用います。
>
>`autocomplete="nope"`
>任意に指定した文字列は 属性値として定義された値 に含まれていませんが、ブラウザのオートコンプリート機能は無効になります。
>[引用元](https://developer.mozilla.org/ja/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion)

に従いました。

#### location.reload(true)
開発ツールのコンソールから実行。引数trueでサーバから取得。

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

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

## 各ブラウザの挙動について
### MS Edge
まず、スーパーリロードの方法が分からなかった。そしてautocomplete属性はきかないようだ。またツールバー上の戻るボタンと`location.reload(false)`の挙動が異なる点が不可解だ。
リロードボタンではdefault valueの再読み込みはしないようだ。
### Firefox
`autocomplete="off"`を設定しておけば特に問題はなさそう。
### chrome
ブラウザバック以外オートコンプリートされない?