IE(Internet Explorer)はまもなく廃止され、2022年6月15日にサポートが終了します。
ご存じの通り、後継ブラウザとしてはMicrosoft Edgeが推奨されています。
また、Windows 11では最初からIEを起動することができません。ファイル名を指定して実行のダイアログ(またはアドレスバー)に(2023/03/01追記:Windows 10でも起動できなくなったようです・・・)
IEを示す「iexplore」と入れて実行してもMicrosoft Edgeが起動します。
しかしご利用のシステムによっては、
- 1.特定のWebサイトがIEにしか対応していない
- 2.古いバージョン(10以前)のIntraWebを使用している
- 3.Delphi/400のプログラムでTWebBrowserコンポーネントを使用している
といったお客様もいらっしゃるかと思います。
以下、それぞれの課題と解決策を記載します。
1.特定のWebサイトがIEにしか対応していない
Windows 11の場合(または以前のOSにおけるIEサポート終了後)でも、
IEを直接起動できなくなるだけで、IEそのものが削除されたわけではありません。
(Windows内部で互換性のために残す必要があるため)
この場合の解決方法は2通り存在します。
1つは対象サイト(またはIntraWebの接続先)をEdgeのIEモードで動作させる方法です。
EdgeのIEモードを使えば、2029年1月9日までは登録したサイトをIEとして開くことができます。
(設定は端末ごとに必要になります。)
IEモードの設定は一時的なもので、サイトを登録しても30日で元に戻ってしまいます。
しかし下記サイトの手順を行うことで(現在の所は)恒久的にIEモードに設定できるようです。
<参考:IEモードの設定方法>
Edge のIEモードで登録サイトを日数制限なしで自動で開く|パソブル
もう1つはDelphiのVCLプログラムでTWebBrowserコンポーネントを使う方法です。
DelphiのVCLプログラムでTWebBrowserコンポーネントを使用すると、
その中においてはIEとして動作し、Webページが開かれます。
この環境で対象のサイトを実行できるかご確認ください。
(使用方法:TWebBrowserを画面に配置し、
「WebBrowser1.Navigate(‘対象URL’); 」といったロジックを記述すると、
画面のTWebBrowserが対象URLにジャンプします。)
この環境で発生するエラーと解決策については、後述の
「3.Delphi/400のプログラムでTWebBrowserを使用している」
をご参照ください。
2.古いバージョン(10以前)のIntraWebを使用している
バージョン10以前のIntraWebでは、IE(9以前)・Netscape・FireFox(4以前)
といった当時のブラウザにしか製品が対応していないため、
ChromeやEdgeなどの新しいWebブラウザでは正常に動作しません。
(例えばファイルダウンロード時にファイル名の文字化けが発生したりします)
こちらも先述の
「1.特定のWebサイトがIEにしか対応していない」
で記載したEdgeのIEモードで動作させることで解決できます。
また、こちらもDelphiのVCLプログラムでTWebBrowserコンポーネントを使用可能です。
DelphiのVCLプログラムでTWebBrowserコンポーネントを使用すると、
その中においてはIEとしてWebページが開かれますので、
この環境で対象のサイトを実行できるかご確認ください。
(使用方法:TWebBrowserを画面に配置し、
「WebBrowser1.Navigate(‘対象URL’); 」といったロジックを記述すると、
画面のTWebBrowserが対象URLにジャンプします。)
この環境で発生するエラーと解決策については、後述の
「3.Delphi/400のプログラムでTWebBrowserを使用している」
をご参照ください。
3.Delphi/400のプログラムでTWebBrowserを使用している
上記の1や2において、
『DelphiのVCLプログラムでTWebBrowserコンポーネントを使用すると、その中においてはIEとしてWebページが開かれます』
と記載しましたが、
デフォルト状態では古い「IE7」として動作します。
このため、最近ではブラウザ側でスクリプトのエラーが発生するサイトが増えています。
レジストリエディターで下記の設定値(DWORD型)を追加して頂くことで、
設定したEXE内のTWebBrowserがIEの中では最新となる「IE11」として動作し、
ブラウザ内のエラーを回避させることができます。
- キー(64bitのEXEの場合):
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION - キー(32bitのEXEの場合):
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION - 値の名前:当該EXEのファイル名(例:「Project1.exe」)
- 値のデータ:10進数で「11001」(16進数の場合は「2af9」)
※64bit / 32bit とは、ご利用の端末のビット数ではなく、動作させるアプリケーションのビット数です。
※値の名前がEXEのファイル名なので、端末内の同名のEXEはすべて影響を受けます。
逆に、EXEを別名にリネームすると効力を受けなくなります。
※参考:IE7=7000・IE8=8888・IE9=9999・IE10=10001 を設定すれば他のバージョンも指定可能。
(設定値はいずれも10進数)