我正在尝试使用以下内容获取浏览器Cookie:
browser.cookies.getAll()
但我总是在控制台日志中收到此错误:
未捕获的ReferenceError:未定义浏览器
这是我的代码:
var gettingAll = browser.cookies.getAll({
url: "url"
});
console.log(gettingAll);
答案 0 :(得分:1)
看看下面的内容......
https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
编辑:固定代码块。
答案 1 :(得分:0)
browser
确实未定义。它不是本机JavaScript对象。
您应该使用document.cookie
(see here)代替。
答案 2 :(得分:0)
获取 url 值,您可以使用此解决方案:
var cookiesMap = document.cookie.split(";").map( value => {
var val =value.split("=")
var obj = { "key" : val[0], "value" : val[1] }
return obj;
});
for( var i = 0 ; i < cookiesMap.length ; i++ ){
if( cookiesMap[i].key==="url"){
console.log(cookiesMap[i].value);
}
}
希望它有所帮助:)
答案 3 :(得分:-2)
我不熟悉那种语法,
请改为尝试document.cookie
返回包含所有Cookie的字符串。