中国优质的IT技术网站
专业IT技术创作平台
IT职业在线教育平台
API没看到有根据域名delete某一项cookie的方式。
原本想使用 webview.WebCookieManager.configCookieSync来实现
webview.WebCookieManager.configCookieSync('domainUrl', '=;Path=/;Domain=domainUrl')
但是发现这样只会追加cookie。请问该怎么实现替换某一个cookie的整个值,或者怎么实现删除特定的cookie?
微信扫码分享
// 将指定url下指定domain的cookie全都清除 public static clearCookieByDomain(sourceUrl: string = '', domain: string = '') { if (sourceUrl === '' || domain === '') { return } try { const cookieStr = CookieUtil.getCookie(sourceUrl) let cookieArray = cookieStr.split(';'); const cookieKeys = cookieArray.map(item => { return item.split('=')[0].trim() }) cookieKeys.forEach(key => { // tip: url、domain、key全都要对上才能删除指定cookie项, 且configCookieSync一次只能设置一个cookie项 webview.WebCookieManager.configCookieSync( domain, CookieUtil.createExpireCookie(key, domain) ) }) } catch (err) { LogUtil.error("CookieUtil", err?.code, err.message, err.stack) // TODO:Senty上报 } } public static createExpireCookie(key: string = '', domain: string = ''): string { if (key === '' || domain === '') { return '' } return key + '=' + '; Path=/' + '; Domain=' + domain + '; HttpOnly; Secure; Expires=Thu, 01 Jan 1970 00:00:00 GMT'; }