Pages

Sunday, January 26, 2020

Chromeと同じエンジンのEdge正式版が登場するも移行する強い理由もない - ニコニコニュース

Chromeと同じエンジンのEdge正式版が登場するも移行する強い理由もない - ニコニコニュース

【元記事をASCII.jpで読む】

Chromiumベースの新Edgeの正式版が登場
ただし、日本での配布開始は4月以降の予定

 1月15日に、Chromiumベースの新しいEdge(以下、新Edge)の正式版が配布開始された。しばらくすると、Windows Update経由で自動的にインストールされる予定だという。ただし、日本での配布開始は4月以降になる。これまでのEdge(以下、旧Edge)は、Windowsの機能アップデートとともに配布されてきたが、新Edgeでのアップデートは独自となり、Windowsバージョンと一致しなくなる。

 また、新Edge正式版のインストールをすると旧Edgeアンインストールされてしまい、新Edgeに置き換わってしまう。ほとんどの人には何の問題もないが、ウェブサイトの評価用に利用している場合などには注意が必要だ。なお、新Edgeの自動インストールは、マイクロソフトが提供するツール、もしくはレジストリの設定で禁止することも可能である。

Microsoft Edge の自動配布を無効にするための Blocker Toolkit   https://docs.microsoft.com/ja-jp/deployedge/microsoft-edge-blocker-toolkit

 ページにはいろいろと書いてあるが、要は以下のレジストリを設定すればよい。

キー: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\EdgeUpdate
名前: DoNotUpdateToEdgeWithChromium
タイプ: DWORD
設定値: 1

※このレジストリ値が存在しない、もしくは設定値が0の場合には、インストールブロックされない

 なお、このレジストリ値は、Windows Updateによる自動インストールのみを抑制し、手動によるインストールを禁止するものではない。また対象は、Stable Channelの新Edgeに限られ、Beta/Dev Channelの新Edgeアップデートには影響しない。

 旧Edgeを残しつつ、新Edgeを評価したいなら、Beta版もしくはDev版のEdgeを利用すればいい。これらは旧Edgeと共存できる。ただし、Stable Channelとはバージョンが異なる点には注意したい。すでにBeta版やDev版の新Edgeは、正式版の新Edgeよりもバージョンが新しくなっているのだ。

 新Edgeの特徴はいろいろとあるが、1つにはHTMLレンダリングエンジンBlinkになる点がある。Blinkは「Google Chrome」(正確にはGoogleChromium Project)と同じレンダリングエンジンだ。旧Edgeは「EdgeHTML」と呼ばれるレンダリングエンジンを使っていて、これはWebKitBlinkベースになったエンジン、現在ではAppleSafariが採用している)をベースにしたものだ。

 Chromeも最初はWebKitを採用したが、方向性の違いなどから、Blinkを別に開発することにした(こういうのをフォークしたという)。そういう意味では、本家の子供が分家に養子に行ったようなものだ。

 ただし新Edgeは、Chromeそのものではなく、あくまでもChromeに似た別のブラウザであることは認識しておく必要がある。つまり、Chromeで正しく動作するページサイトの中には、新Edgeでは正しく動作しないものが存在する可能性がある。たとえば、Googleサービスでは、Chromeとそれ以外を厳密に区別しており、Chromeアクセスした場合と新Edgeアクセスした場合に違いが出ることがある。

 ブラウザサイトアクセスしたときに渡す情報である「UserAgent」はChromeでは、

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36

なのに対して、新Edge正式版では、

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36 Edg/79.0.309.71

である。多くのサイトでは、このUserAgentを使って、アクセスしているブラウザを判別しているが、意図的に途中までしか確認しないことが多い。

 というのは細かいバージョンの違いなどは、動作に大きく影響しないことがあるからだ。そういうサイトでは、新EdgeGoogle Chromeと同じ扱いになる。しかし、UserAgentを全部見るようなサイトでは、当然ながら新EdgeChromeは別のブラウザとして扱われる。

UWPではなくWin32アプリケーションになった新Edge

 世間からはあまり注目されていないが、新Edgeの最も大きな変更点は、UWPからWin32アプリケーションデスクトップアプリ)になったことだ。後述するIEモードも、Win32アプリケーションになったからこそ実現できた機能だ。

 Windows 10を開始したとき、マイクロソフトはUWPで世界を席巻する“夢”を見ていた。UWPとしてアプリを開発したら、iOSでもAndroidでもLinuxでも動作するから、世界中の開発者がみんなUWPでソフトを作ると“夢想”していた。

 しかし実際には、UWPは「劣化したWin32アプリケーション」でしかなかった。UWPで大抵のことはできたが、Win32でできてUWPではできないことが結構あった(今もまだある)。そもそも、その前にWindows 8で提案したWinRTベースアプリケーションがあまりにウケが悪く、UWPになったからといって、乗り換える開発者も多くなかった。また多くの開発者は、iOSAndroid、あるいはLinuxに行ってしまい、UWPで一儲けと考える人間はそれほど多くなかった。

 Win32アプリケーションになったということは、DLLインジェクションなどの従来の手法が使える可能性がある。これでEdgeも便利になるのかと思ったが、ChromeWin32なので、わざわざEdgeでやる必然性はないのかもしれない。

 コマンドラインからの起動は、UWP版でも「アプリ実行エイリアス」で可能だった。新Edge正式版を導入すると、それまで、「設定アプリ」→「アプリ」→「アプリと機能」→「アプリ実行エイリアス」にあった「MicrosoftEdge.exe」がなくなってしまう。

 なお、新Edgeは、

C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe

と、実行ファイル名が「msedge.exe」になっているので混同することはない。新Edgeベータ版/開発版は、それぞれインストールパスが正式版と違うが、実行ファイル名はおなじmsedge.exeなので注意されたい。

 Microsoftサイトなどで確認できる公式情報では、起動オプションは、プロファイルを指定する「--User-Data-Dir=プロファイルのパス」と開発版のデバッグコマンドぐらいしかない。もちろん、オプションなしでURLを引数とすれば、そのURLを開いてくれる。

 新Edgeアドレスバーで「edge://version」とすると、表示される情報の中にデフォルトコマンドラインオプションがある。以下のようなオプションが指定可能なようだ。

--flag-switches-begin
--flag-switches-end
--enable-audio-service-sandbox
--do-not-de-elevate
--internet-explorer-integration=iemode
--enable-features=msEdgeCollectionsUIFlag

 ただし、意味ははっきりしない。「--enable-features=……」は、「edge://flags」のページで有効にしたフラグのようである。

最も簡単なIEモードの設定

 EdgeのIEモードだが、公式手順では、ポリシーテンプレートダウンロードインストール、ポリシーの設定、Enterprise Mode Site List Managerでのサイト登録といった作業が必要だった。しかし実際には、レジストリの操作とテキストファイルの編集で設定が可能だ。ただし、レジストリ変更やサイトファイルの書き換えのあとは、新Edge再起動する必要がある。

 説明を簡単にするためにIEモードアクセスするサイトを記録したXMLファイルのパスを以下のように仮定する。他の場所にファイルを置く場合には、以後の説明を適宜読み替えてほしい。

c:\ie-mode\site.xml

 レジストリ設定は2ヵ所ある。1つはIEモードの有効化、もう1つは、IEモードサイトを登録したXMLファイルのパス(前記のもの)の登録だ。レジストリキーは両方とも同じだ。

キー: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge

名前: InternetExplorerIntegrationLevel
種類: DWORD
値: 1

名前: InternetExplorerIntegrationSiteList
種類: 文字列値
値: C:\IE-mode\site.xml

 レジストリ設定ののち、以下のリストテキストファイルコピーしてメモ帳などのテキストエディタでsite.xmlファイルを作り、“c:\ie-mode”に置く。対応サイトを追加したい場合には、「」から「」の部分をコピーして「」の前に追加し、「url=」以下のドメイン名部分を書き換える(例ではascii.jpが入っている部分)。これで新Edgeを起動すれば、IEモードで指定したサイトを表示できるようになる。

 なお、新Edgeアドレスバーで「edge://policy」とすれば、有効な設定ポリシーを表示できる。

 Blinkベースになった新しいEdgeだが、IEモードで従来IEを起動していたサイトブラウザを切り替えずに表示できるようになった。だが、これぐらいは、EdgeGUIでちゃんと対応してほしいところ。あるいはActiveXへのアクセスが確認されたら、通知してくれてもいいだろう。それくらい親切でないと、わざわざChromeから切り替える理由もない。

Chromeと同じエンジンのEdge正式版が登場するも移行する強い理由もない

Let's block ads! (Why?)



2020-01-26 01:12:14Z
https://news.google.com/__i/rss/rd/articles/CBMiKWh0dHBzOi8vbmV3cy5uaWNvdmlkZW8uanAvd2F0Y2gvbnc2NDkzNTUz0gEA?oc=5

No comments:

Post a Comment