IE Mode (レジストリで設定)

## 参考

https://docs.microsoft.com/ja-jp/internet-explorer/ie11-deploy-guide/enterprise-mode-schema-version-2-guidance

## EdgeからIEを起動させる準備

レジストリ値を用いる。(Windows 10 Homeも対応。)

* HKEY_LOCAL_MACHINE : PC内の全アカウントに適用
* HKEY_CURRENT_USER : ログイン中のアカウントのみに適用

`SiteList`はIE11起動後から約65秒後に1度だけチェックされます。

```vb:EdgeからIEを起動.reg
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Edge]
; リダイレクト時のバナーを非表示
"HideInternetExplorerRedirectUXForIncompatibleSitesEnabled"=dword:00000001
; IE Modeを有効化
"InternetExplorerIntegrationLevel"=dword:00000001
; IE Mode表示するリスト定義ファイル
"InternetExplorerIntegrationSiteList"="file:///C:/site.xml"
```

`InternetExplorerIntegrationLevel`

* 0 - Edgeのまま。 (初期値)
* 1 - IEモード (少なくとも2029年まで可能)
* 2 - IE11で開く (2022年6月まで有効)

`InternetExplorerIntegrationSiteList`

![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25728/de060415-ca6f-fd93-360d-1d42ef6a3eab.png)


* 指定方法がいくつか可能な様子。
    * `c:\\`
    * `file://`
    * `http://`
    * `https://`

### site.xmlの変更を反映

* 自動更新 - `<site-list version="">`の値を増やす。
* 手動更新 - Edgeで `edge://compat` にアクセスし、`強制的に更新`を押す。

サンプル

```xml:site.xml
<site-list version="20210513.0">

  <site url="yahoo.co.jp"> <open-in>IE11</open-in> </site>
  <site url="google.co.jp"> <open-in>IE11</open-in> </site>

</site-list>
```

レジストリ値をセットし、site.xmlを置いて urlに書いてあるページにアクセス

サブドメインも自動適用される。
例えば`yahoo.co.jp`としたら、`auctions.yahoo.co.jp`も適用される。

正規表現は使えない。

### IE Mode時のバナーを非表示

* HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Edge\HideInternetExplorerRedirectUXForIncompatibleSitesEnabled
    *  1 : 非表示

![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25728/2ca9a408-5dda-597c-5996-eab7bc64e716.png)


## appMode

* 参考 [IEモードのページをAPPモードで開くとresizeByやmoveTo等のJSが使用できない - Microsoft Tech Community](https://techcommunity.microsoft.com/t5/enterprise/ie%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AE%E3%83%9A%E3%83%BC%E3%82%B8%E3%82%92app%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%E9%96%8B%E3%81%8F%E3%81%A8%E4%B8%80%E9%83%A8%E3%81%AEjs%E3%81%8C%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84/m-p/1700606)
* appModeだとアドレスバーが表示されないため、より広い画面で操作可能になる。

```vb
' シンプルな例
"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --app=http://xxx/testPage.html

' profile指定する場合
"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --profile-directory=Default --app=http://xxx/testPage.html
```

----

## グループポリシーでIE11起動禁止を再現

![無題2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25728/22aade6b-d36e-3fdf-10f6-3d7ec0c0d042.png)

```
    [コンピューターの構成] or [ユーザーの構成]
   ＋[管理用テンプレート]
    ＋[Windows コンポーネント]
     ＋[Internet Explorer]
  「Internet Explorer 11 をスタンドアロンブラウザーとして無効にする」
```

https://jpdsi.github.io/blog/internet-explorer-microsoft-edge/guidelines-for-migrating-from-ie-to-microsoft-edge/



----

## IE11をアンインストールしているとIEモードは利用できない

![ie11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25728/64820eba-bc83-4905-f59b-04a71c7c2871.png)

`InternetExplorerIntegrationLevel`

* 1 - IEモードで開こうとすると → 以下のようにバーが表示される。
* 2 - IE11で開こうとすると → 以下のようにバーもなく表示されない。

![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25728/1f611b54-e1e7-056c-cbc2-d1f81e0dc90b.png)

そのため、`Windowsの機能の有効化または無効化`から`Internet Explorer 11`の項目は少なくとも2029年までは存在し続けそう。

* [2022年6月以降の InternetExplorerIntegrationLevel が 2 (NeedIE) の動作について RRS feed
](https://social.technet.microsoft.com/Forums/ja-JP/a036eec2-2770-429d-be72-16bee30660c1/20226-internetexplorerintegrationlevel-2-needie-?forum=internetexplorerja)

----

## Edgeバージョン

* 21h1 : 89
    * updateをかけると : 90.0.818.66 (2021/05/22時点)

## UserAgentの違い

### 通常のIE11

> Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko


### Edgeで開いたIEモード

IE8互換の場合以下

> Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 10.0; WOW64; Trident/7.0; Touch; .NET4.0C; .NET4.0E; InfoPath.3; Tablet PC 2.0; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729)

### その他便利URL

* edge://policy
* edge://compat

* [Microsoft Edge から Internet Explorer への Cookie の共有 | Microsoft Docs](https://docs.microsoft.com/ja-jp/deployedge/edge-ie-mode-add-guidance-cookieshare)
* [Internet Explorer モードとは | Microsoft Docs](https://docs.microsoft.com/ja-jp/deployedge/edge-ie-mode)
    * 更新プログラム
* [Windows 10 で開発者ツールを使用してアドインをデバッグする - Office Add-ins | Microsoft Docs](https://docs.microsoft.com/ja-jp/office/dev/add-ins/testing/debug-add-ins-using-f12-developer-tools-on-windows-10)
* [Edge-Enterprise/microsoft-edge-policies.md at public · MicrosoftDocs/Edge-Enterprise](https://github.com/MicrosoftDocs/Edge-Enterprise/blob/public/edgeenterprise/microsoft-edge-policies.md#headlessmodeenabled)
* [issue](https://github.com/MicrosoftDocs/Edge-Enterprise/issues)
    * https://github.com/MicrosoftDocs/Edge-Enterprise/issues/168
* [「Internet Explorer 11 デスクトップ アプリケーションのサポート終了」の発表に関連する FAQ - Windows Blog for Japan](https://blogs.windows.com/japan/2021/05/19/internet-explorer-11-desktop-app-retirement-faq/)