マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

IEバージョンアップ情報 のリンク集です。

サポートポリシーの変更

2014年8月7日(米国時間)発表があり、2016年1月12日以降
サポート対象となるバージョンが大幅に減少するため注意

基本的な対応方法

必要とされるノウハウは、膨大な量であり、

  • 網羅することは難しい
  • 確認するのは難しい

という事になるため、

  1. 実際に
    1. 移行
    2. テストし、
  2. 問題を
    1. 抽出し、
    2. 修正する。

といった方法が現実解となる。

ブラウザ・シェア

移行先を検討する際に参考になるかも。

互換性機能

互換性機能とは?

  • IE8は、CSS2.1規格へ完全準拠、およびCSS 3規格への部分的な準拠が行われた。
  • IE7でもある程度のCSS2.1規格への準拠は行われていたが完全ではなかった。
  • IE8では従来のブラウザ(IE)向けに作られたWebサイトが正しく表示できなくなるので
    従来と同じように動作させるために、「互換表示」という機能を用意している。
  • 新しいブラウザ(標準に準拠)で古いレガシー・ブラウザ対応ページを見るため、
  • DOCTYPE
  • X-UA-Compatible
    • meta タグ
    • HTTP ヘッダ
  • クライアント操作(互換表示ボタン)

などで、互換表示の設定が可能である。

各種、互換性機能

互換モード

IE6 からレンダリング方法を選択できるようになった。

  • 標準モード(業界標準を最大限)
    適切な DOCTYPE ディレクティブある場合
  • Quirksモード
    適切な DOCTYPE ディレクティブがない場合(IE11を除く)
  • IE5 Quirksモード
    IE5互換(後方互換が目的)
  • IE10-11 Quirksモード
    IE10から、機能が変更されている。
    • 後方互換が目的ではなく、
    • 相互運用性(他社製ブラウザーとの)を高める
  • 変遷
    • IE10では、Quirksモードの機能が後方互換から相互運用性に変更されている。
    • また、IE11からは、DOCTYPEによる互換モード切替がなくなっている。

      しかし、IE11はまだ、Quirksモードを内部的に残していて、
      X-UA-CompatibleとDOCTYPEスイッチによる合わせ技で
      IE10モード+Quirksレイアウトを有効にできるらしい。

ドキュメント・モード

IE8 以降、レンダリングエンジン変更をサポートするようになった。

  • レンダリングエンジン
    • IE=5-11, Edge
    • IE=EmulateIE7-11
  • 切替方法
    • 開発者ツール(F12)
    • X-UA-Compatible
      • meta タグ
      • HTTP ヘッダ
    • ツール > 互換表示設定
    • アドレスバー横の互換表示ボタン(IE11で廃止)

ブラウザ・モード

  • 目的
    • 開発者がWebサイトをテストするための機能
    • 新しいIEをまだサポートしていないWebサイトを
      訪問したときのエンドユーザーのための機能
  • 機能
    • F12 開発者ツールのみで設定が可能なオプション
    • IE 自体の動きが選択されたバージョンになる。

エンタープライズ・モード

IEモード

互換性機能を使用しない方法

クロス・ブラウザ対応方法

互換性機能を使用しない方法(=クロス・ブラウザ対応方法)として、

  • JavaScriptのプロパティや
  • CSSの条件付きコメントで

制御する方法もある。

  • 参考

CSS2.1、3規格へ準拠

互換モードの打ち切りも考えられるので、互換モードを使用しつつ、
システム更改に伴う前提環境の変更などに伴い、CSS2.1、3規格への準拠も検討する。

ただし、CSS2.1、3規格に準拠したからと言って
クロス・ブラウザが保証されるわけではないので注意する。

まとめ

互換性機能を使用する方法

IEでは互換性機能が使用できる。

互換性機能を使用しない方法

  • しかし、互換性機能の打ち切りも考えられるので、互換性機能を使用しつつ、
    システム更改に伴う前提環境の変更などに伴い、CSS2.1、3規格への準拠も検討する。
    #CSS2.1、3規格へ準拠でクロス・ブラウザが保証されるわけではないので注意
  • 互換モード使用しない方法(=クロス・ブラウザ対応方法)として、
    • JavaScriptのプロパティや
    • CSSの条件付きコメントで

制御する方法もある。

参考

IE8

MSDN

docs.microsoft.com

その他

モーダルダイアログのサポート状況

  • Windowシステムのないタブレットやスマホでは、ダイアログは無い方向で良いですが、
  • WindowシステムのあるWindowsやその上で動作するエンタープライズ向けの
    業務アプリケーションには、showModalDialog?があったら便利といえば便利です。

過去のサポート状況

過去には、IE以外の最近の殆どのブラウザがshowModalDialog?をサポートしていました。

サポート打ち切り?

そして、HTML5のプレビュー版には、
showModalDialog?の仕様が記述されていましたが、

しかし、最終的には削除されています。

コレに伴い、他のブラウザでのサポート打ち切りが発表されています。

  • Windows 10に搭載されるブラウザは、Spartan(→Edge)IE(11)になり、
    Edgeからは、showModalDialog?のサポートが打ち切られました。

この傾向は、やはり、

「スマホのウィンドウシステムの無い、フラットなUIには
showModalDialog?はミスマッチであるためではないか?」

と考えています(スマホのサポートができなくなる)。

サポート終了へ。

IE8へ

動向

ツール

...

IE8 移行時の問題点事例

IE:タブのプロセス分割

IE8からタブ毎にプロセス分割されるようになりました。
Session(Cookie)はタブ(プロセス)間で共有されます。
このため、以前のバージョンで可能であった別プロセスとして起動し、
別のユーザとしてログインする様なことがデフォルトでできなくなりました。

この動作は変更可能です(「IE8 Session」で検索すると情報多数ヒット)。

以下、解決策についての説明。

IE8 のプロセスモデルについて
 - Japan IE Support Team Blog - Site Home - TechNet? Blogs
  2. IE8 で別々のウィンドウでもセッション情報が共有されてしまう。
http://blogs.technet.com/b/jpieblog/archive/2010/05/10/3331472.aspx

  1. TabProcGrowth?=0 に設定することにより、
    IE8 の LCIE 機能が無効となり、プロセス間での
    セッションを共有しない動作となります。
  2. FrameMerging?=0 に設定することにより、
    1. IE8 のプロセスが異なる場合に
      セッション情報を共有しない動作となります。
    2. プロセス間でのセッション情報は共有されなくなりますが、
      IE8 のプロセスの分離動作 (LICE) は引き続き有効となります。
  3. レジストリのキーと種類は、上記のTabProcGrowth? と同じです。
    • キー : HKLM (or HKCU) \Software\Microsoft\Internet Explorer\Main
    • 名前 : TabProcGrowth?
    • 種類 : REG_DWORD
  4. IE8 の [ファイル] - [新規セッション] を選択することで、
    セッション情報を共有しないウィンドウを開くことが可能です。
  5. コマンドプロンプトやスクリプトで、"-NoFrameMerging?” を引数で起動
    することで、セッション情報を引き継がず IE を起動することができます。
    iexplore.exe -NoFrameMerging? <http://www.microsoft.com/>

IE9へ

  • @IT

動向

ツール

IETester

IE開発者ツール

IE9 移行時の問題点事例

Win7、IE9、VBCOMの問題

ActiveXのダイアログでボタンを押下したあとにフリーズしてしまう。

インターネット上の情報から、

を適用しても問題は解決しなかった。

そこで、

[Windows 7(x64) IE9]
IE9でVB6のActiveXコントロールのページの
“ファイルを開く”ダイアログを表示した後、
ダイアログを閉じたタイミングでIEがフリーズします。 - マイクロソフト コミュニティ
http://answers.microsoft.com/ja-jp/ie/forum/ie9-windows_7/windows-7x64/92af4d53-5051-4ad0-a098-bff05cbd53c7

を参考にして、

Reg:[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\New Windows]
DetourDialogs? という文字列値を追加し、値を no と設定した所、

正常に動作するようになった。

ただし、DetourDialogs? はサポート対象外の方法
であるとのこと(プレミア・サポートで確認済み)

IE9でダイアログのサイズ指定が出来ない。

Windows 7 + IE 9 で、
frameset を含むページをshowModalDialog? で表示すると、
幅・高さの指定が無視され、ダイアログの表示が小さくなってしまう。

以下、解決策についての説明。

解決策としては、frameset を含むページに、

<meta http-equiv="x-ua-compatible" content="IE=6">

を追加する。

  • IE=6, IE=7 では意図した大きさになったが、
  • IE=8 では、やはり幅・高さが無視される。
  • IE=EmulateIEx は不明。

モーダルダイアログでポストバックを実装していた場合の対応方法は、こちらを参照。

IE10へ

動向

ツール

エンタープライズ・モード

  • IE 7/8をエミュレートする互換モードのこと。
  • Windows 10 バージョン 1511で拡張され、
    • 「ツール」メニューのエンタープライズモードが機能しなくなり、
    • 「サイトリスト」を「グループ・ポリシー」で配布する必要がある。

Compat Inspector

IE10 移行時の問題点事例

ASP.NET で IE10 を認識しない

http://blogs.msdn.com/b/d99/archive/2013/08/02/10438994.aspx

  • 原因:
    ASP.NET 標準のブラウザーファイル (ie.browser) には、
    <browser id="IE6Plus" parentID="IE">
      <identification>
        <capability name="majorversion" match="^[6-9]|\d{2,}$" />
      </identification>
        (中略)
    </browser> 

のように「IEx ~ IE9 までの定義」しかなく、IE10 に関する定義がないため、
IE10 でアクセスした場合は「その他のブラウザー」のような扱いになる。

  • 対策:
    マイクロソフト提供の HotFix? を Web サーバに適用する
    (上記、参考 URL から HotFix? ダウンロード元サイトに移動可能)

条件付きコメントがサポートされなくなった (Windows)

http://msdn.microsoft.com/ja-jp/library/ie/hh801214(v=vs.85).aspx

IE10で"__doPostBack?" 実行エラー

  • 原因:
    Windows 7 + Internet Explorer 10 で、
    ASP.NET の JavaScript 関数である"__doPostBack?"が実行時にエラーとなる

IE11へ

動向

ツール

  • IE 11 アプリの検証には「modern.IE」というサイトが使えるかもしれない。

IE11 移行時の問題点事例

入力内容が消失

パスワードの入力テキストボックスが2つある画面にて、
フォーカス移動時に入力内容が消失する場合がある。

ウィンドウ名が認識されない

window.open などで名前付きの新しいウィンドウを開いても、ウィンドウ名が認識されない場合がある

  • 発生条件
    • Internet Explorer 11 をビルトイン Administrator で使用した場合に発生
  • MSの情報
  • 備考
    • ビルトイン Administrator アカウントは危険性が高く、非推奨です (既定で無効)。

セキュリティゾーンによって文字幅が変わる

http://blogs.technet.com/b/jpieblog/archive/2014/02/14/3622887.aspx

IEがdisconになるかもしれない。

以下のようなアナウンスがされ、IEがdisconになる可能性が出てきた。

Flash無効化の予定

IE, Edge とも、少しずつ、Flashを動作制限していき、2020年には無効にするもよう。

IEとEdgeの併用

以下の様な方法でIEとEdgeを連携・併用することができるもよう。

IEのサポート期限

以下を見ると、IE11のdisconタイミングは
まだ明確になっていないような気がする。

Microsoft Edgeへ (<- Spartan <- IE12)

動向

  • 一時期、IE12 -> Spartanと言うコードネームで呼ばれていたが、
    紆余曲折を経て、Microsoft Edgeという正式名称が付与されている。
  • 余談、オランダのWikipediaには、IE12の項があったりする。

ツール

併用という事もあり、移行ツールの案内は無し。

後方互換

  • Microsoft Edgeに対応するエンタープライズ版のIE12はリリースされず、
    (IE12はSpartan の、レンダリングエンジンが実装されると言われていた)
    IE11を後方互換のために継続的にサポートするという方向性となっている。
  • 要するに、後方互換ではなく、併用と言う事で、
    Microsoft Edgeでは、ドキュメント・モードはサポートされないもよう。

使い分け

概要

従って、凡そ以下のような使い分けになるとのこと。

  • Internet Explorer 11
    過去に開発されたWebシステムとの後方互換のためのブラウザ。
  • Microsoft Edge
    Google ChromeやApple Safari、Mozilla Firefoxとも相互に運用できるブラウザ

参考

  • Microsoft Edgeというブラウザ
  • Internet Explorerというブラウザ

非対応になる機能

主な機能

Microsoft Edgeで非対応となる主な機能は次のようにリストアップされている。

  • ActiveX
  • Browser Helper Objects(BHO)
  • Document modes
  • Vector Markup Language(VML)
  • VBScript
  • attachEvent/removeEvent
  • currentStyle
  • conditional Comments
  • IE8 layout quirks
  • DirectX Filters and Transitions

showModalDialog?

また、上記には記載されていないが、Microsoft Edgeでは
他のモダンブラウザと同様に、showModalDialog? もサポートされなくなっているので、
レガシーなエンタープライズのWebアプリケーションを移行する際は注意が必要になる。

参考

Chromium版

Chromiumレンダリングエンジン採用へ

  • 2020以前は、EdgeHTMLを使用していた。
  • 2020以降、
    • iOS版はWebKit?を、Android版はChromiumを利用。
    • 現在のChromiumは、Blinkベースとなっている。

背景

  • Edgeブランドを残してレンダリングエンジンをChromiumに変更
    • Edgeのシェアが上がらない。
    • レンダリングエンジンは何でもイイ。
  • 案外、IEがdisconにならないかも。
    • 海外でも、日本同様、企業におけるIE利用率は高いもよう。
    • 超長寿のエンプラではLong Term Support(LTS)なブラウザも必要とされている。

IEモード

Chromium版の登場から併用ではなくなりつつあるので、
Edge側に、IEモードと言う五感機能が新設された。

  • 以下のような仕組みになっている。
  • サイトリストで制御する。
    • ワイルドカードを使用できないホワイトリスト方式で制御する。
    • Configurableと設定すると、HTTPレスポンスヘッダで制御可能。
  • 制限事項
    • 上記の方法を除き、Webサイト側からIEモードを制御できない。
    • コンテンツ側からIEモードかどうかは判別できない。
    • エンタープライズ・モードはサイト・リストへの設定が必須。
    • グループ・ポリシーで、クライアント側で手動切替を許可可能。
  • その他
    • Cookieは共有されないが、サイト・リスト設定でEdge→IEの単方向の共有が可能。
    • オートメーション
      ・IEモード直接起動はサポートされない(サイト・リストの設定次第)
      ・IEモードであれば、SHDocVw?HtmlDocument?のインスタンスを取得・操作可能。
      ・Edgeに関しては、オートメーションAPIは提供されないので、Selenium、PlayWright?等を利用。

参考

IE11サポート終了へ(2021/8/18)

サ終ですね。

概要

  • 2020年5月19日
    IEのデスクトップアプリの提供終了予定を発表
  • 2020年8月17日
    Microsoft 365および他アプリでのIEサポート終了予定を発表

スケジュール

  • 2020年11月30日
    Microsoft Teams Web アプリでのIEサポート終了
  • 2021年3月9日
    Chromium版ではないレガシー版
    Microsoft Edgeデスクトップアプリのセキュリティ更新停止
  • 2021年8月18日
    Microsoft 365および他アプリでのIEサポート終了
  • 2022年6月16日
    • IEのデスクトップアプリの提供終了
    • WindowsUpdate?をあてるとEdgeにリダイレクトされるようになる。

対象

半期チャネル (SAC) で配信される IE11 デスクトップ アプリ

  • Windows 10 デスクトップ SKU (20H2 以降)
  • Windows 10 IoT (20H2 以降)

対象外

ただし、2021/8/18以降、段階的にサポートが切れる。

  • Windows 10 以前のClient OSや、Windows 10 LTSC
    および Windows ServerのIE11 デスクトップ アプリ
  • Client OS
    • 7 ESU(~?)
    • 8.1(~2023/1)
    • 10 LTSB/LTSC以外(~2022/6)
    • 10 LTSB/LTSC
      ・Ent.2015(~2025/10)
      ・Ent.2016(~2026/10)
      ・Ent.2019(~2029/1)
  • Server OS
    • 2008 R2(~2020/1)
    • 2012 (~2023/10)
    • 2012 R2(~2023/10)
    • 2016 (~2027/1)
    • 2019 (~2029/1)
    • 10 Server(~?)
  • IoT OS
    10 IoT LTSC(~?)

ツール

IEモード

  • 引き続き利用可能
  • ただし、以下のケースでサポートされなくなる。
    • 2029年までサポートされる(2029年以降はサポート切れ)。
    • Microsoft 365など、IE11のサポートが切れた
      サービスに対して使用してもサポート切れ扱い。

...

併用ではなくなったので、提供される可能性あり。

参考

  • Japan Developer Support Internet Team Blog

参考

IE、WWWブラウザのいろいろ

microsoft.com

blogs.msdn.com

Wikipedia


Tags: :移行


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-07-07 (水) 15:43:35 (28d)