Доступ к файлам cookie из расширения Google Chrome - PullRequest
16 голосов
/ 17 сентября 2009

Есть ли способ получить доступ к файлам cookie из расширения Chrome? этот код

document.cookie.length

всегда возвращает - 0.

Ответы [ 5 ]

26 голосов
/ 21 декабря 2009

Впервые я читаю что-то действительно неправильное на этом сайте.Получить фактические куки-файлы документа из расширения можно INDEED .

, вам просто нужны эти две вещи в манифесте:

"content_scripts": [
    {
      "matches": ["http://*/*", "https://*/*"],
      "js": ["cookie_handler.js"]
    }
  ],
  "permissions": [
    "tabs",
    "http://*/*",
    "https://*/*"
  ],

ваш cookie_handler.js будет выполненодин и тот же контекст каждой страницы загрузчика / фрейма / фрейма.попробуйте поставить туда одну строку:

alert(document.cookie);

и вы увидите:)

21 голосов
/ 30 мая 2013

В настоящее время лучший (самый простой) способ получить куки-файлы сайта в расширении выглядит так:

chrome.cookies.get({ url: 'http://example.com', name: 'somename' },
  function (cookie) {
    if (cookie) {
      console.log(cookie.value);
    }
    else {
      console.log('Can\'t get cookie! Check the name!');
    }
});

Так что теперь вам не нужен скрипт контента для этого , но не забудьте включить разрешения в манифест:

"permissions": [
  "cookies",
  "*://*.example.com/*"
]
4 голосов
/ 05 февраля 2010

Я написал небольшой пост о том, как это сделать, и объяснил, как получить информацию о файлах cookie в фоновом скрипте.

https://vicinitysoftware.com/accessing-site-cookies-from-chrome.html

3 голосов
/ 08 июня 2010

Если вы хотите манипулировать информацией о cookie-файлах, не посещая сайт пользователем (это полезно для чего-то вроде FireFox TACO ), вам сейчас не повезло. Похоже, Google работает над этим: недавно они добавили относительно полный обработчик файлов cookie в экспериментальный API: chrome.experimental.cookies

Надеюсь, это скоро переходит на поддерживаемый API.

0 голосов
/ 24 ноября 2009

Еще лучше, вы можете использовать HTML5 Localstorage:

localStorage.setItem("itemid", "hello" );   // write
value = localStorage.getItem("itemid");     // read

Если вы действительно хотите прочитать куки-файлы любого сайта, который просматривает пользователь, как писал Дэн, это невозможно, так как могут быть действительно плохие вещи.

Все, что вы можете получить со страницы, это содержимое DOM страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...