用javascript获取cookie

Vic*_*iuc 1 javascript cookies google-chrome google-chrome-extension

我正在制作Chrome扩展程序,我需要PHPSESSID从Cookie中获取.

当我输入document.cookie控制台时,我得到了页面的cookie,但没有,PHPSESSID 但是当我打开EditThisCookie时,会显示PHPSESSID:

Console + EditThisCookie

如何获得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)

Mar*_*lli 7

问题

您的问题是您可能没有使用正确的权限.要从某个网址/网页获取Cookie,您需要使用该chrome.cookiesAPI.此API需要您要从中检索Cookie权限"cookies"和所有URL.

在您的manifest.json,请求您需要的权限.如果要从所有站点检索cookie,可以使用该"<all_urls>"权限.或者,如果您只想从该站点获取cookie,则可以使用"http://luptaonline.com/*.我还注意到您正在使用chrome.tabsAPI,因此权限manifest.json应如下所示:

...
"permissions": [
    "cookies",
    "tabs",
    "<all_urls>"
],
...
Run Code Online (Sandbox Code Playgroud)

现在,background.js您可以轻松调用该chrome.cookies.get()方法来检索PHPSESSIDcookie,如下所示:

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提醒:

警报

工作实例

您可以下载该扩展的工作示例这里.

文档

您可能会发现此文档链接很有用: