使容器API可靠
容器是默認(rèn)情況下在Firefox beta版和一般版本中禁用的平臺(tái)特性。到目前為止,擴(kuò)展開(kāi)發(fā)人員不得不通知用戶啟用容器中的:首選項(xiàng),以便使用容器API。隨著Firefox的發(fā)布(現(xiàn)在在開(kāi)發(fā)版)的變化。在Firefox量子中,如果您是一個(gè)創(chuàng)建容器擴(kuò)展的開(kāi)發(fā)人員,那么您的擴(kuò)展就可以啟用容器。所以現(xiàn)在,當(dāng)用戶安裝你的擴(kuò)展時(shí),他們沒(méi)有額外的步驟。如果他們?cè)噲D禁用容器,他們首先需要禁用擴(kuò)展。
這為擴(kuò)展開(kāi)發(fā)人員提供了保證,當(dāng)安裝擴(kuò)展時(shí)容器API將起作用。過(guò)去,用戶可以在任何時(shí)候禁用容器,并中斷所有與容器相關(guān)的擴(kuò)展?,F(xiàn)在他們必須首先禁用擴(kuò)展本身,以便禁用容器標(biāo)簽。
我們還對(duì)現(xiàn)有的“查詢”、“獲取”、“更新”和“刪除”方法進(jìn)行了更改,使之更加“承諾友好”。與其用空或假值解決承諾,我們現(xiàn)在拒絕有錯(cuò)誤時(shí)的承諾。在找不到容器或存在內(nèi)部錯(cuò)誤的情況下,我們拒絕API的承諾,所以在catch catch塊中封裝API調(diào)用允許您的代碼處理這些錯(cuò)誤:
異步getcontainer(cookiestoreid){
讓容器;
嘗試{
集裝箱=等待瀏覽器。contextualidentities得到(cookiestoreid);
} catch(e){
/ *容器可能被禁用,API可能失敗
或容器已被刪除。* /
這warnuser(E);
}
返回容器;
}
向現(xiàn)有擴(kuò)展添加容器
擴(kuò)展常常為他們的用戶實(shí)現(xiàn)選項(xiàng),這些選項(xiàng)對(duì)所有瀏覽活動(dòng)都不理想。特定的擴(kuò)展可以提供隱私、安全或其他用戶界面的好處和增強(qiáng)??赡艿臄U(kuò)展是一個(gè)簡(jiǎn)單的定時(shí)器來(lái)跟蹤你多久看貓的GIF在社會(huì)媒體在你的工作日。在完成工作容器之后,您可能不需要它。大多數(shù)擴(kuò)展都要求用戶發(fā)起交互,而且對(duì)于您的擴(kuò)展名來(lái)說(shuō),“始終在”可能不是必要的或有益的。
使用容器代替“上下文”的指示器簡(jiǎn)化了您的擴(kuò)展的用戶體驗(yàn)。當(dāng)特定容器打開(kāi)時(shí),添加新功能的擴(kuò)展更有可能被積極使用,因?yàn)樗鼈冦^住現(xiàn)有的容器。例如,HTTPS無(wú)處不在的“總是HTTPS”選項(xiàng)打破了許多網(wǎng)站,但它總是相關(guān)的,在上下文中,如果它是默認(rèn)實(shí)現(xiàn)時(shí),你在銀行的容器。
雖然擴(kuò)展可以改變基于URL的行為,但我們認(rèn)為容器的安全性和隱私好處為用戶配置設(shè)置提供了新的激勵(lì)。
新容器擴(kuò)展的想法
我們對(duì)容器擴(kuò)展提供基于上下文的瀏覽增強(qiáng)的可能性感到興奮。當(dāng)用戶希望在工作選項(xiàng)卡中時(shí),擴(kuò)展可能被配置為阻止工作頁(yè)的安全性。當(dāng)用戶不希望在家中提醒工作時(shí),可以將擴(kuò)展配置為自動(dòng)刪除用戶的工作歷史記錄,但請(qǐng)記住個(gè)人歷史記錄。
例如,擴(kuò)展可以:
社會(huì)成為一個(gè)社會(huì)標(biāo)簽頁(yè)加載
在工作選項(xiàng)卡中,在選項(xiàng)卡關(guān)閉時(shí)刪除cookie
在購(gòu)物標(biāo)簽中阻止密鑰記錄腳本
為固定制表符創(chuàng)建唯一的容器
加載多個(gè)版本的QA測(cè)試網(wǎng)站,同時(shí)還在瀏覽器中提供歷史和開(kāi)發(fā)工具(而不是無(wú)頭瀏覽器測(cè)試)。
例如,我們已經(jīng)看到了許多容器擴(kuò)展的創(chuàng)建:
容器在運(yùn)行時(shí)給用戶一個(gè)臨時(shí)容器,用于標(biāo)簽的生命周期。臨時(shí)容器模擬私有選項(xiàng)卡,因?yàn)槿萜鞅舜烁綦x。一旦標(biāo)簽被扔掉,容器就會(huì)被刪除,它會(huì)刪除與之相關(guān)聯(lián)的cookie和其他存儲(chǔ)。
Cookie AutoDelete–已被修改,逐步增強(qiáng)時(shí),容器的啟用,給用戶更改刪除cookie設(shè)置每集裝箱的能力。
能–容器實(shí)現(xiàn)的全景延伸
和許多更多的
集裝箱webextension API允許開(kāi)發(fā)者重寫容器本身。開(kāi)發(fā)人員可以在上面擴(kuò)展我們的擴(kuò)展并構(gòu)建改進(jìn)。如果您正在尋找想法,我們有大量的開(kāi)放增強(qiáng)請(qǐng)求列表,擴(kuò)展開(kāi)發(fā)人員可以使用所提供的API在自己的擴(kuò)展中解決這些請(qǐng)求。
從所有這些更改和更新中可以看出,我們真正接受了使用容器進(jìn)行選項(xiàng)卡管理。
整潔的Tab切換API從容器