首選解決方案,微軟和谷歌為此不斷豐富和增強(qiáng) PWA 的功能,以改善在 Windows 和其他平臺(tái)上的 Web 應(yīng)用程序體驗(yàn)。
為了改善 PWA 應(yīng)用的使用體驗(yàn),谷歌正在開(kāi)發(fā)一種全新的 API。該 API 將允許 Chrome 的 PWA 應(yīng)用成為本地文件系統(tǒng)中某類文件的默認(rèn)“處理”(讀?。┕ぞ?。
在瀏覽器中,文件處理器代表著 PWA 應(yīng)用能夠處理一組給定 MIME 類型或者文件擴(kuò)展名之一文件的能力。例如你可以按照某個(gè)網(wǎng)頁(yè)應(yīng)用為默認(rèn)圖像處理應(yīng)用,那么在訪問(wèn) .jpg/.png 等一些常規(guī)圖片文件格式的時(shí)候就會(huì)使用 PWA 應(yīng)用進(jìn)行打開(kāi)。
自然,當(dāng)您雙擊系統(tǒng)(網(wǎng)絡(luò)外部)中存儲(chǔ)的圖像時(shí),您會(huì)期望 Web 應(yīng)用以這些格式之一打開(kāi)圖像文件。雖然 PWA 可以在注冊(cè)表中注冊(cè)其處理這些文件類型之一的功能,但 Chromium 當(dāng)前不支持此功能。
Google在文檔中指出,他們的新項(xiàng)目的目標(biāo)是提高Web應(yīng)用程序與本機(jī)應(yīng)用程序之間的透明度,并通過(guò)啟用對(duì)文件處理程序的支持來(lái)提供“更一致的用戶體驗(yàn)”。
作為下一次網(wǎng)絡(luò)應(yīng)用程序更新的一部分,Google正在處理一個(gè)新的權(quán)限提示,該提示將要求用戶確認(rèn)PWA是否可以將自身注冊(cè)為某些文件擴(kuò)展名的文件處理程序。
為了啟用此功能,谷歌正在使用文件處理API:
每種可能數(shù)量的處理程序都存在不同的翻譯字符串,以便更好地在具有不同句子結(jié)構(gòu)的語(yǔ)言之間進(jìn)行翻譯。文件處理程序信息是從 WebAppRegistrar(而不是從眨眼的清單)中檢索的,以匹配操作系統(tǒng)中注冊(cè)的信息。
Chromium已經(jīng)支持在Chrome和其他瀏覽器中處理原始測(cè)試,但是新的文件處理API與通過(guò)原始測(cè)試過(guò)程的其他API不同,因?yàn)樵诓僮飨到y(tǒng)中某些狀態(tài)更改的情況下啟用和禁用了測(cè)試結(jié)果(注冊(cè)文件處理程序)。
這意味著原始試用版需要一些特殊的體系結(jié)構(gòu):每次訪問(wèn)Web應(yīng)用程序時(shí),我們都會(huì)檢查其是否具有有效的原始試用版令牌,如果是,則我們注冊(cè)文件處理程序,并存儲(chǔ)令牌的到期時(shí)間如果令牌無(wú)效,我們將取消注冊(cè)文件處理程序。在Chrome啟動(dòng)時(shí),我們還將取消其原始試用令牌已過(guò)期的所有應(yīng)用程序的文件處理程序注冊(cè)。