跳到主要内容
版本:v5

CapacitorCookies

Capacitor Cookies API 通过重写 document.cookie 使用原生库提供原生 cookie 支持。它还提供了在特定 URL 下修改 cookie 的方法。该插件已捆绑在 @capacitor/core 中。

配置

默认情况下,重写 document.cookie 使用原生库的功能是禁用的。 如需启用此功能,请在 capacitor.config 文件中修改以下配置。

属性类型说明默认值
enabledboolean启用重写 document.cookie 以使用原生库替代浏览器默认实现。false

配置示例

capacitor.config.json 中:

{
"plugins": {
"CapacitorCookies": {
"enabled": true
}
}
}

capacitor.config.ts 中:

import { CapacitorConfig } from '@capacitor/cli';

const config: CapacitorConfig = {
plugins: {
CapacitorCookies: {
enabled: true,
},
},
};

export default config;

示例

import { CapacitorCookies } from '@capacitor/core';

const getCookies = () => {
return document.cookie;
};

const setCookie = () => {
document.cookie = key + '=' + value;
};

const setCapacitorCookie = async () => {
await CapacitorCookies.setCookie({
url: 'http://example.com',
key: 'language',
value: 'en',
});
};

const deleteCookie = async () => {
await CapacitorCookies.deleteCookie({
url: 'https://example.com',
key: 'language',
});
};

const clearCookiesOnUrl = async () => {
await CapacitorCookies.clearCookies({
url: 'https://example.com',
});
};

const clearAllCookies = async () => {
await CapacitorCookies.clearAllCookies();
};

从 iOS 14 开始,默认情况下无法使用第三方 Cookie。如需在 iOS 上获得更好的 Cookie 支持,请将以下内容添加到 Info.plist 文件中。最多可添加 10 个域名。

<key>WKAppBoundDomains</key>
<array>
<string>www.mydomain.com</string>
<string>api.mydomain.com</string>
<string>www.myothercooldomain.com</string>
</array>

API

setCookie(...)

setCookie(options: SetCookieOptions) => Promise<void>

向设备写入一个 Cookie。

参数类型
options
SetCookieOptions

deleteCookie(...)

deleteCookie(options: DeleteCookieOptions) => Promise<void>

从设备删除一个 Cookie。

参数类型
options
DeleteCookieOptions

clearCookies(...)

clearCookies(options: ClearCookieOptions) => Promise<void>

清除指定 URL 下的所有 Cookie。

参数类型
options
ClearCookieOptions

clearAllCookies()

clearAllCookies() => Promise<void>

清除设备上的所有 Cookie。


Interfaces

SetCookieOptions

属性类型说明
url?string写入 Cookie 的目标 URL。
keystringCookie 的键名。
valuestringCookie 的值。
path?stringCookie 的有效路径。
expires?stringCookie 的过期时间。

DeleteCookieOptions

属性类型说明
url?string删除 Cookie 的目标 URL。
keystring要删除的 Cookie 的键名。

ClearCookieOptions

属性类型说明
url?string清除 Cookie 的目标 URL。