相关文章推荐
路过的泡面  ·  Microsoft Edge Update ...·  3 周前    · 
沉着的水桶  ·  DevTools 概述 - ...·  2 周前    · 
八块腹肌的眼镜  ·  Microsoft Edge ...·  1 周前    · 
可爱的山羊  ·  [AnyDAC][Phys][ODBC][M ...·  1 年前    · 
很拉风的烈酒  ·  ASP.NET ...·  1 年前    · 

本文適用於外部安裝的延伸模組;也就是說,透過合作夥伴中心以外的方法散發的延伸模組;請參閱 散發延伸模組的其他方式 。 本文不適用於您使用 合作夥伴中心開發人員儀錶板 發佈的延伸模組;如需該散發方法,請參閱 更新 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 檔案。
  • 利用新增至更新資訊清單要求的某些參數指出延伸模組 IDversion的事實。 您可以對所有延伸模組使用相同的 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 國際許可證中描述的條款使用。 原始頁面可在 此處找到。