マイクロソフト系技術情報 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サイトを
      訪問したときのエンドユーザーのための機能

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

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

  • 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?の仕様が記述されていましたが、

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

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

この傾向は、やはり、

「スマホのウィンドウシステムの無い、フラットな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へ

動向

ツール

Compat Inspector

IE10 移行時の問題点事例

ASP.NET で IE10 を認識しない

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

条件付きコメントがサポートされなくなった (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?" 実行時にエラーとなる

  • 原因
    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? ダウンロード元サイトに移動可能)

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)

紆余曲折を経て、Microsoft Edgeへ。

余談、オランダのWikipediaには、IE12の項があったりする。

動向

一時期、Spartanと言うコードネームで呼ばれていたが、
現在は、Microsoft Edgeという正式名称が付与されている。

一時期、後方互換性のドキュメントモードのサポートが打ち切られるという噂だったが、

  • IEブラウザの互換性問題の緩和方法
    とあるコンサルタントのつぶやき - Site Home - MSDN Blogs
    http://blogs.msdn.com/b/nakama/archive/2014/04/04/ie.aspx

    ドキュメントモードについては IE12以降での取り扱いが
    変わることが決定しているため、今後の動向を見守る必要がある。

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

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

ツール

不明

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

背景

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

参考

参考

主要なリソース

microsoft.com

blogs.msdn.com

Wikipedia


Tags: :移行


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-06-28 (金) 11:30:49 (19d)