採用 Chromium 核心的 Edge 瀏覽器被居然爆不能用 Google Earth 等服務,微軟專案經理解釋原因

作者 | 發布日期 2019 年 05 月 07 日 8:45 | 分類 Google , Microsoft , Windows follow us in feedly


採用 Chromium 核心的 Edge 瀏覽器已釋出先期測試版,提供想嘗鮮的使用者及開發者測試。照理來說既然採用 Chromium 核心,新版 Edge 瀏覽器應該相容更多 Google 服務才對,不過一些測試人員發現,新 Edge 瀏覽器連上 Google Earth 等 Google 服務時,會顯示錯誤訊息無法使用,並建議使用者去下載 Chrome 瀏覽器,這是怎麼回事?

當初微軟使用 Chromium 核心的 Edge 瀏覽器原因之一,就是可與更多 Google 服務有更佳相容性。而 Google Earth 自從原本的獨立應用程式轉為支援 Web 版之後,理論上也不該有拒 Edge 瀏覽器於千里之外的問題。不過,使用者得到的回應卻是:

“Aw snap! Google Earth isn’t supported by your browser yet. Try this link in Chrome instead. If you don’t have Chrome installed, download it here. Learn more about Google Earth."

除此之外,其他不支援的服務還有 Google Meet、Google Docs 等,使用 Edge 瀏覽器時一樣有問題。

雖然實際上 Edge 依然可用 Google Doc,不過 The Verge 編輯 Tom Warren 在 Twitter 張貼的畫面,以 Chromium 版 Edge 登入 Google Docs 時,網頁上方會出現「此版本的瀏覽器不支援,請更新至其他支援的瀏覽器。」(The version of the browser you are using is no longer supported. Please upgrade to a supported browser.)

可能原因之一:用戶代理嗅探(User Agent sniffing)

針對這些問題,微軟專案經理 Eric Lawrence 表示,可能要分成兩種情況來看。首先是 Google Meet、Google Doc 的問題,他猜測的原因是出在用戶代理嗅探(User Agent sniffing),這是網路服務商偵測使用者所用的瀏覽器,針對不同瀏覽器給予不同網頁或服務的技術。

當然,Web 服務的原意是要讓不同瀏覽器都能使用相同的服務,不過瀏覽器與網路標準並不完美,因此某些服務依舊會使用用戶代理嗅探(User Agent sniffing)去偵測瀏覽器。

據 Eric Lawrence 表示,原本 Google 的 UA sniffing Code 是將 Chromium 核心的 Edge 瀏覽器歸類為 Chrome 瀏覽器,沒有特別區分。不過,事發前一週,Google 才將他們的 UA sniffing Code 更新,將 Chromium 核心的 Edge 與原 Chrome 瀏覽器區分。

所以 Eric Lawrence 猜測,雖然基於 Chromium 核心的 Edge 瀏覽器本質上執行 Google Meet、Google Doc 這些服務完全沒問題,但 Google Meet、Google Doc 這些服務可能沒有將 Chromium 核心的 Edge 瀏覽器 UA sniffing Code 更新加入服務白名單,因此才會顯示「此版本的瀏覽器不支援,請更新至其他支援的瀏覽器」的訊息。

Google Earth 的問題則是採用 Google 過時技術

至於 Google Earth,Lawrence 表示那又是另一個問題了。

他表示,當初 Google Earth 從應用程式轉為 Web 服務時,是在 PNaCl 沙盒的基礎上創建。Google Native Client(縮寫 NaCl)是由 Google 發起的開放原始碼計畫,採用沙盒技術,讓 Intel x86、ARM 或 MIPS 子集的機器碼直接在沙盒運行。它能從瀏覽器直接執行程式機器碼,功能類似微軟 ActiveX,但 ActiveX 只支援視窗系統。Google 將這項功能合併在 Chrome OS 之下開發。因此,Chrome 瀏覽器可執行 Google Earth 的原生程式碼。

但微軟 Chromium 核心的 Edge 瀏覽器並不帶 PNaCl 沙盒功能,原因在於 2017 年 5 月 31 日,Google 宣布放棄 PNaCl 轉向 WebAssembly

不過顯然 Google 自己的服務都沒有跟上技術,雖然 Google 在 2017 年 5 月就宣布棄用 PNaCl 轉向 WebAssembly,但顯然沒有重寫 Google Earth。

因此,由上述回應來看,Chromium 核心的新版 Edge 瀏覽器與 Google 服務之間的問題,大多數日後 Google 如果更新旗下服務的白名單,應該很快就可解決。只有 Google Earth,就看 Google 是否願意重寫程式碼,或是希望讓 Google Earth 繼續由 Chtome 瀏覽器獨占了。

(本文由 T客邦 授權轉載)