title | slug |
---|---|
cookies |
Mozilla/Add-ons/WebExtensions/API/cookies |
{{AddonSidebar}}讓擴充套件可以取得、設定 cookies 資訊,並監控其變動。
使用此 API 前,必須先在 manifest.json 檔案中加入「cookies」這項 API 權限宣告,也必須以 host 權限宣告將要存取 Cookies 的網站列入。參見 Cookie 權限一節。
- {{WebExtAPIRef("cookies.Cookie")}}
- : 代表一個 HTTP cookie 的相關資訊。
- {{WebExtAPIRef("cookies.CookieStore")}}
- : 代表瀏覽器中的 cookie 存放空間。
- {{WebExtAPIRef("cookies.OnChangedCause")}}
- : 代表觸發 cookie 資料變動的原因。
- {{WebExtAPIRef("cookies.get()")}}
- : 取回單一 cookie 的相關資訊。
- {{WebExtAPIRef("cookies.getAll()")}}
- : 取回符合設定條件的所有 cookies 資訊。
- {{WebExtAPIRef("cookies.set()")}}
- : 為 cookie 設定資料。如果目前已有相同的 cookies,則會覆寫原本的 cookie 資料。
- {{WebExtAPIRef("cookies.remove()")}}
- : 刪除某特定名稱的 cookie。
- {{WebExtAPIRef("cookies.getAllCookieStores()")}}
- : 列出目前所有的 cookie 存放空間。
- {{WebExtAPIRef("cookies.onChanged")}}
- : 當 cookie 設定或刪除時觸發。
使用此 API 前,擴充套件應於 manifest.json 設定檔中指明需要「cookies」API 權限,亦須以 host 權限宣告指明需要存取 cookies 的網站清單。此後,符合 host 權限宣告的 URL 所能讀寫的任何 cookies,該擴充套件即可讀取。比方說:
-
http://*.example.com/
-
: 若套件有這樣的 host 權限宣告,即可:
- 讀取
www.example.com
任何路徑下的非安全 cookie。 - 寫入
www.example.com
任何路徑下的安全或非安全 cookie。
但不能:
- 讀取
www.example.com
下的安全 cookie。
- 讀取
-
-
http://www.example.com/
-
: 若套件有這樣的 host 權限宣告,即可:
- 讀取
www.example.com
任何路徑下的非安全 cookie。 - 讀取
.example.com
任何路徑下的非安全 cookie。 - 寫入
www.example.com
任何路徑下的安全或非安全 cookie。 - 寫入
.example.com
任何路徑下的安全或非安全 cookie。
但不能:
- 寫入
foo.example.com
的 cookie。 - 寫入
foo.www.example.com
的 cookie。
- 讀取
-
-
*://*.example.com/
-
: 若套件有這樣的 host 權限宣告,即可:
- 讀、寫
www.example.com
任何路徑下的安全或非安全 cookie。
- 讀、寫
-
{{Compat}}
Edge 不支援 promises,請使用回呼(callback)函式處理。
{{WebExtExamples("h2")}}
Note
此 API 基於 Chromium 的 chrome.cookies
API 而來,文件改作自 Chromium 程式碼裡的 cookies.json
。
Microsoft Edge 的相容資訊來自微軟公司,原文以創用 CC 姓名標示 3.0 美國版條款授權大眾使用。