我正在制作一个饼干删除器,加法器和阅读器的东西,然而,似乎我不能让它工作。顺便说一下,我的manifest.json很好。这是在代码内。
这是我的代码。Background.js:
function getUserCookie(url, cookieName, callback) {
chrome.cookies.get({ url: url, name: cookieName }, function(cookie) {
if (cookie) {
callback(cookie.value);
} else {
callback(false);
}
});
}
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
if (request.action == "getUserCookie") {
getUserCookie(request.url, request.cookieName, function(cookie) {
sendResponse(cookie);
});
return true;
}
});
在content.js中使用它的例子,它似乎没有检测到它们(顺便说一下,我正在尝试的cookie是httponly,如果有必要的话):
chrome.runtime.sendMessage({ action: "getUserCookie", cookieName: "example"}, function(response) {
console.log(response);
}
我试过很多方法,比如用其他方法做,我期待它能起作用,但它没有。
1条答案
按热度按时间wfsdck301#
也许这只是你问题中的一个错误的示例代码,但是如果你比较调用者代码和被调用者代码,你会看到下面的区别。
来电者:
但在被调用方中,您期望:
即,期望请求包含
request.action
、request.url
和request.cookieName
。但是,您只使用action
和cookieName
属性进行调用。我希望url
参数对于chrome.cookies.get
方法的工作至关重要。请确保将它传递给sendMessage
,然后再传递给getUserCookie
方法。请让我知道这是否有帮助。