"background": { "service_worker": "background.js", "type": "module" },background.js里获取的cookie 怎么传到content.js
时间: 2023-09-05 22:09:59 浏览: 237
要在 `background.js` 中获取 cookie 并将其传递给 `content.js`,可以使用 Chrome Extension 的消息传递机制。以下是实现的步骤:
1. 在 `background.js` 中获取 cookie,并将其存储在变量中:
```javascript
chrome.cookies.get({url: 'https://example.com', name: 'cookieName'}, function(cookie) {
const cookieValue = cookie.value;
// 将 cookieValue 存储在变量中,以便稍后传递给 content.js
});
```
2. 在 `background.js` 中发送消息,将 cookie 值传递给 `content.js`:
```javascript
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
const activeTab = tabs[0];
chrome.tabs.sendMessage(activeTab.id, {cookieValue: cookieValue});
});
```
3. 在 `content.js` 中接收消息,并使用传递的 cookie 值:
```javascript
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
const cookieValue = request.cookieValue;
// 在此处使用 cookieValue
});
```
注意,`content.js` 必须在 `manifest.json` 中声明为 content script,并且必须在激活的页面中运行。这可以通过在 `manifest.json` 中指定 `content_scripts.matches` 属性来实现。
阅读全文