本文適用於外部安裝的延伸模組;也就是說,透過合作夥伴中心以外的方法散發的延伸模組;請參閱
散發延伸模組的其他方式
。 本文不適用於您使用
合作夥伴中心開發人員儀錶板
發佈的延伸模組;如需該散發方法,請參閱
更新 Microsoft Edge 延伸模組
。
每隔幾個小時,Microsoft Edge 就會檢查每個已安裝的延伸模組或應用程式是否有更新 URL。 若要指定擴充功能的更新 URL,請使用資訊清單中的欄位
update_url
。
update_url
資訊清單中的欄位指向可以完成更新檢查的位置。 對於每個
update_url
,此 URL 會傳送更新資訊清單 XML 檔案的請求。 如果更新資訊清單 XML 檔案列出較新的延伸模組或應用程式版本,Microsoft Edge 會下載並安裝較新的版本。 相同的程序適用於手動更新,其中新
.crx
檔案必須使用與目前安裝的版本相同的私密金鑰進行簽署。
為了維護使用者隱私權,Microsoft Edge 不會傳送任何
Cookie
具有自動更新資訊清單要求的標頭,並忽略這些要求回應中的任何
Set-Cookie
標頭。
當您將延伸模組設定為在使用者的電腦上自動更新時,您的延伸模組會與 Microsoft Edge 共用下列優點:
納入錯誤和安全修復。
新增功能或效能增強功能。
改進用戶界面。
您的延伸模組裝載於
Microsoft Edge 附加元件
,您可以使用與 Microsoft Edge 相同的機制來更新延伸模組。 您無法控制更新機制。
(先前支援非存放區型擴充功能。此外,您之前同時更新了原生二進位檔和擴展名 ) 。
當您更新相依於原生二進位檔的延伸模組時,請小心。
如果您託管自己的擴充功能或應用程式,則必須將欄位
update_url
新增至檔案
manifest.json
。 下列程式碼片段顯示欄位
update_url
的範例:
"name": "My extension",
"update_url": "http://contoso.com/mytestextension/updates.xml",
更新資訊清單
伺服器傳回的更新資訊清單應該是 XML 文件;比如:
<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
<app appid='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'>
<updatecheck codebase='http://contoso.com/mytestextension/mte_v2.crx' version='2.0' />
</gupdate>
更新的資訊清單 XML 檔案會定義下列屬性:
Microsoft Edge 每隔幾個小時自動檢查一次延伸模組的更新。 若要立即更新延伸模組,請移至 edge://extensions
,開啟 開發人員模式 切換,然後 按一下 更新 按鈕 。
進階用法:請求參數
使用參數更新的基本機制很簡單。 若要自動更新您的擴充功能:
將靜態 XML 檔案上傳到您的 Web 伺服器 (例如 Apache)。
當您發行新版本的延伸模組時,請更新 XML 檔案。
利用新增至更新資訊清單要求的某些參數指出延伸模組 ID
和 version
的事實。 您可以對所有延伸模組使用相同的 update URL
,而不是靜態 XML 檔案。 若要對所有擴充功能使用相同的 update URL
URL,請指向執行動態伺服器端程式碼以測試參數的 URL。
下列範例示範更新URL的請求參數格式:
?x={extension_data}
在此範例中, {extension_data}
是使用下列格式的 URL 編碼字串。
id={id}&v={version}
例如,下列兩個擴充功能都指向相同的更新URL http://contoso.com/extension_updates.php
。
編號: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
更新網址: http://contoso.com/extension_updates.php
版本: 1.1
編號: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
更新網址: http://contoso.com/extension_updates.php
版本: 0.4
下列範例是更新每個延伸模組的要求。
http://contoso.com/extension_updates.php?x=id%3Daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%26v%3D1.1
http://contoso.com/extension_updates.php?x=id%3Dbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%26v%3D0.4
您也可以在單一要求中針對每個唯一更新 URL 列出多個延伸模組。 下列範例會將先前的要求合併為單一要求:
http://contoso.com/extension_updates.php?x=id%3Daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%26v%3D1.1&x=id%3Dbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%26v%3D0.4
如果您傳送單一要求,且使用相同更新 URL 的已安裝延伸模組數目太長,則更新檢查會發出更多 GET
要求。
GET
如果要求 URL 大約是 2000 個字元,則會太長。
在未來的版本中,可能會發出單一POST
要求,而不是發出多個GET
要求,並在本文中POST
包含要求參數。
進階用法:最低瀏覽器版本
隨著 Microsoft Edge 延伸模組系統發行新的 API,您可能想要發行僅適用於較新版本 Microsoft Edge 的延伸模組或應用程式的更新版本。 當 Microsoft Edge 自動更新時,大部分的使用者可能需要幾天的時間才能更新至該新版本。
若要確保特定更新僅適用於目前或比特定版本更新的 Microsoft Edge 版本,請在更新資訊清單中新增屬性 prodversionmin
。
例如,在下列程式碼中,prodversionmin
屬性值 的3.0.193.0
指定只有在使用者執行 Microsoft Edge 3.0.193.0
或更新版本時,您的應用程式才會自動更新為版本2.0
:
<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
<app appid='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'>
<updatecheck codebase='http://contoso.com/mytestextension/mte_v2.crx' version='2.0' prodversionmin='3.0.193.0' />
</gupdate>
散發延伸模組的替代方式
更新 Microsoft Edge 延伸模組
合作夥伴中心開發人員儀錶板
本頁面的部分內容是根據 Google 創建和共享 的作品進行修改,並根據 知識共享署名 4.0 國際許可證中描述的條款使用。
原始頁面可在 此處找到。