Vic*_*iuc 1 javascript cookies google-chrome google-chrome-extension
我正在制作Chrome扩展程序,我需要PHPSESSID
从Cookie中获取.
当我输入document.cookie
控制台时,我得到了页面的cookie,但没有,PHPSESSID
但是当我打开EditThisCookie时,会显示PHPSESSID:
如何获得PHPSESSID值?
我试过了
function getPHPSESSID() {
var url = tab.url;
chrome.cookies.get({"url": url, "name": 'PHPSESSID'}, function(cookie) {
alert(cookie.value);
});
}
Run Code Online (Sandbox Code Playgroud)
您的问题是您可能没有使用正确的权限.要从某个网址/网页获取Cookie,您需要使用该chrome.cookies
API.此API需要您要从中检索Cookie的权限"cookies"
和所有URL.
在您的manifest.json
,请求您需要的权限.如果要从所有站点检索cookie,可以使用该"<all_urls>"
权限.或者,如果您只想从该站点获取cookie,则可以使用"http://luptaonline.com/*
.我还注意到您正在使用chrome.tabs
API,因此权限manifest.json
应如下所示:
...
"permissions": [
"cookies",
"tabs",
"<all_urls>"
],
...
Run Code Online (Sandbox Code Playgroud)
现在,background.js
您可以轻松调用该chrome.cookies.get()
方法来检索PHPSESSID
cookie,如下所示:
var myUrl = "http://luptaonline.com/player/"; // assuming that this is the url
chrome.cookies.get({url: myUrl, name: 'PHPSESSID'}, function(cookie) {
// do something with the cookie
console.log(cookie);
alert(cookie.name + ' found, value: ' + cookie.value);
});
Run Code Online (Sandbox Code Playgroud)
运行上面的代码,你会得到你想要的.以下是结果的截图:
控制台日志:
Cookie提醒:
您可以下载该扩展的工作示例这里.
您可能会发现此文档链接很有用: