Cookies 使用Firefox插件内容脚本访问Cookie?
我正在尝试从别人创建的Chrome中翻译一个插件。它有一个包含chrome.cookies.get的内容脚本。我找不到合适的方法来修复Firefox。是否有任何方法可以从插件sdk中的内容脚本访问cookie 以下是原始代码:Cookies 使用Firefox插件内容脚本访问Cookie?,cookies,sdk,google-chrome-extension,firefox-addon,firefox-addon-sdk,Cookies,Sdk,Google Chrome Extension,Firefox Addon,Firefox Addon Sdk,我正在尝试从别人创建的Chrome中翻译一个插件。它有一个包含chrome.cookies.get的内容脚本。我找不到合适的方法来修复Firefox。是否有任何方法可以从插件sdk中的内容脚本访问cookie 以下是原始代码: function getCookies(domain, name, callback) { chrome.cookies.get({"url": domain, "name": name}, function(cookie) {
function getCookies(domain, name, callback) {
chrome.cookies.get({"url": domain, "name": name},
function(cookie) {
if (callback) {
if (cookie) {
callback(cookie.value);
} else {
callback(null);
}
}
}
);
}
内容脚本没有使用任何高级API所需的特权,无论是在Firefox还是在Chrome中。但是,它可以通过获取当前页面的cookies。同样的限制也适用于网页本身-HTTPOnly cookies将不可见
但是,在扩展模块中,您可以使用访问cookie。有关详细信息,请参阅。如果您想从内容脚本中获取该信息,则必须从内容脚本向扩展发送消息,使扩展为您检索该信息。内容脚本没有使用任何高级API所需的权限-无论是在Firefox中还是在Chrome中。但是,它可以通过获取当前页面的cookies。同样的限制也适用于网页本身-HTTPOnly cookies将不可见 但是,在扩展模块中,您可以使用访问cookie。有关详细信息,请参阅。如果您希望从内容脚本中获取该信息,则必须从内容脚本向扩展发送一条消息,使扩展为您检索该信息。我完全被nsICookieManager搞糊涂了。我只想从另一个域检索和设置cookie。我可以使用nsICookieManager更改现有cookie吗?唯一可能的选择是添加。这会取代已经存在的cookie吗?抱歉,如果我听起来真的很笨,我以前从未使用过cookie,而且MDN非常缺乏示例。@Ian:是的,你调用add来覆盖cookie。这些方法是由HTTP协议实现调用的,并且在HTTP中隐式覆盖cookies。我完全被nsICookieManager搞糊涂了。我只想从另一个域检索和设置cookie。我可以使用nsICookieManager更改现有cookie吗?唯一可能的选择是添加。这会取代已经存在的cookie吗?抱歉,如果我听起来真的很笨,我以前从未使用过cookie,而且MDN非常缺乏示例。@Ian:是的,你调用add来覆盖cookie。这些方法将由HTTP协议实现调用,并且在HTTP中隐式覆盖cookie。