「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
IEバージョンアップ情報 のリンク集です。
サポートポリシーの変更 †
2014年8月7日(米国時間)発表があり、2016年1月12日以降サポート対象となるバージョンが大幅に減少するため注意
基本的な対応方法 †
必要とされるノウハウは、膨大な量であり、
という事になるため、
- 実際に
- 移行
- テストし、
- 問題を
- 抽出し、
- 修正する。
といった方法が現実解となる。
移行先を検討する際に参考になるかも。
互換性機能 †
互換性機能とは? †
- IE8は、CSS2.1規格へ完全準拠、およびCSS 3規格への部分的な準拠が行われた。
- IE7でもある程度のCSS2.1規格への準拠は行われていたが完全ではなかった。
- IE8では従来のブラウザ(IE)向けに作られたWebサイトが正しく表示できなくなるので
従来と同じように動作させるために、「互換表示」という機能を用意している。
- 新しいブラウザ(標準に準拠)で古いレガシー・ブラウザ対応ページを見るため、
- DOCTYPE
- X-UA-Compatible
- クライアント操作(互換表示ボタン)
などで、互換表示の設定が可能である。
各種、互換性機能 †
互換モード †
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
- ツール > 互換表示設定
- アドレスバー横の互換表示ボタン(IE11で廃止)
ブラウザ・モード †
- 目的
- 開発者がWebサイトをテストするための機能
- 新しいIEをまだサポートしていないWebサイトを
訪問したときのエンドユーザーのための機能
互換性機能を使用しない方法 †
互換性機能を使用しない方法(=クロス・ブラウザ対応方法)として、
制御する方法もある。
CSS2.1、3規格へ準拠 †
互換モードの打ち切りも考えられるので、互換モードを使用しつつ、
システム更改に伴う前提環境の変更などに伴い、CSS2.1、3規格への準拠も検討する。
ただし、CSS2.1、3規格に準拠したからと言って
クロス・ブラウザが保証されるわけではないので注意する。
まとめ †
- IEでは互換性機能が使用できる。
しかし、互換性機能の打ち切りも考えられるので、互換性機能を使用しつつ、
システム更改に伴う前提環境の変更などに伴い、CSS2.1、3規格への準拠も検討する。
#CSS2.1、3規格へ準拠でクロス・ブラウザが保証されるわけではないので注意
- 互換モード使用しない方法(=クロス・ブラウザ対応方法)として、
制御する方法もある。
参考 †
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
- TabProcGrowth?=0 に設定することにより、
IE8 の LCIE 機能が無効となり、プロセス間での
セッションを共有しない動作となります。
- FrameMerging?=0 に設定することにより、
- IE8 のプロセスが異なる場合に
セッション情報を共有しない動作となります。
- プロセス間でのセッション情報は共有されなくなりますが、
IE8 のプロセスの分離動作 (LICE) は引き続き有効となります。
- レジストリのキーと種類は、上記のTabProcGrowth? と同じです。
- キー : HKLM (or HKCU) \Software\Microsoft\Internet Explorer\Main
- 名前 : TabProcGrowth?
- 種類 : REG_DWORD
- IE8 の [ファイル] - [新規セッション] を選択することで、
セッション情報を共有しないウィンドウを開くことが可能です。
- コマンドプロンプトやスクリプトで、"-NoFrameMerging?” を引数で起動
することで、セッション情報を引き継がず IE を起動することができます。
iexplore.exe -NoFrameMerging? <http://www.microsoft.com/>
IE9へ †
動向 †
ツール †
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へ †
- Internet Explorer 10 概要と変更点 - SSSSLIDE
動向 †
ツール †
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?" 実行時にエラーとなる
のように「IEx ~ IE9 までの定義」しかなく、IE10 に関する定義がないため、
IE10 でアクセスした場合は「その他のブラウザー」のような扱いになる。
以下、解決策についての説明。
マイクロソフト提供の HotFix? を Web サーバに適用する
(上記、参考 URL から HotFix? ダウンロード元サイトに移動可能)
IE11へ †
動向 †
ツール †
- IE 11 アプリの検証には「modern.IE」というサイトが使えるかもしれない。
IE11 移行時の問題点事例 †
入力内容が消失 †
パスワードの入力テキストボックスが2つある画面にて、フォーカス移動時に入力内容が消失する場合がある。
- 発生条件
- 通信プロトコルはhttps(httpでは発生しない)
- パスワードのテキストボックスが2つ、テキストボックスが1つ以上
- MSの不良報告
ウィンドウ名が認識されない †
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を後方互換のために継続的にサポートするという方向性となっている。
使い分け †
概要 †
従って、凡そ以下のような使い分けになるとのこと。
- Internet Explorer 11
過去に開発されたWebシステムとの後方互換のためのブラウザ。
- Microsoft Edge
Google ChromeやApple Safari、Mozilla Firefoxとも相互に運用できるブラウザ
参考 †
非対応になる機能 †
主な機能 †
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以降、
- iOS版はWebKit?を、Android版はChromiumを利用。
- 現在のChromiumは、Blinkベースとなっている。
背景 †
- Edgeブランドを残してレンダリングエンジンをChromiumに変更
- Edgeのシェアが上がらない。
- レンダリングエンジンは何でもイイ。
- 案外、IEがdisconにならないかも。
- 海外でも、日本同様、企業におけるIE利用率は高いもよう。
- 超長寿のエンプラではLong Term Support(LTS)なブラウザも必要とされている。
IEモード †
- 併用ではなくなりつつあるので、IEモードが準備された。
- なお、本モードでも、ShowModalDialog?は動作しない模様。
参考 †
IE11サポート終了へ(2021/8/18) †
概要 †
- 2020年5月19日
IEのデスクトップアプリの提供終了予定を発表
- 2020年8月17日
Microsoft365および他アプリでのIEサポート終了予定を発表
スケジュール †
- 2020年11月30日
Microsoft Teams Web アプリでのIEサポート終了
- 2021年8月18日
Microsoft365および他アプリでのIEサポート終了
- 2022年6月16日
IEのデスクトップアプリの提供終了
対象 †
半期チャネル (SAC) で配信される IE11 デスクトップ アプリ
- Windows 10 デスクトップ SKU (20H2 以降)
- Windows 10 IoT (20H2 以降)
対象外 †
ただし、2021/8/18以降、段階的にサポートが切れる。
- IEプラットフォーム
- MSHTML(Trident)エンジン、WebOC
- 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
・SAC(~?)
・LTSC(~?)
ツール †
併用ではなくなったので、提供される可能性あり。
参考 †
参考 †
microsoft.com †
blogs.msdn.com †
Wikipedia †
Tags: :移行