Javascript 从chrome扩展的background.js获取响应
我想从背景js中获取cookie值。虽然我可以在背景中获取cookie值,但不能在前面的js中获取cookie值 我只想将值从后台js返回到前台。 front.jsJavascript 从chrome扩展的background.js获取响应,javascript,jquery,google-chrome,google-chrome-extension,Javascript,Jquery,Google Chrome,Google Chrome Extension,我想从背景js中获取cookie值。虽然我可以在背景中获取cookie值,但不能在前面的js中获取cookie值 我只想将值从后台js返回到前台。 front.js $(document).on("click", ".darkbtn", function (event) { chrome.extension.sendRequest({ msg: "startFunc" },function(d){ console.log(d); }); }); f
$(document).on("click", ".darkbtn", function (event) {
chrome.extension.sendRequest({ msg: "startFunc" },function(d){
console.log(d);
});
});
function getCookies(domain, name, callback) {
chrome.cookies.get({"url": domain, "name": name}, function(cookie) {
if(callback) {
callback(cookie.value);
}
});
}
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse){
if(request.msg == "startFunc")
{
getCookies("http://localhost", "api_key", function(id) {
//getCookies("http://developer.chrome.com/extensions/cookies.html", "Sample1", function(id) {
sendResponse({data:id});
});
}
}
);
"permissions": [
"tabs",
"storage",
"cookies",
"web_accessible_resources",
"<all_urls>"
],
background.js
$(document).on("click", ".darkbtn", function (event) {
chrome.extension.sendRequest({ msg: "startFunc" },function(d){
console.log(d);
});
});
function getCookies(domain, name, callback) {
chrome.cookies.get({"url": domain, "name": name}, function(cookie) {
if(callback) {
callback(cookie.value);
}
});
}
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse){
if(request.msg == "startFunc")
{
getCookies("http://localhost", "api_key", function(id) {
//getCookies("http://developer.chrome.com/extensions/cookies.html", "Sample1", function(id) {
sendResponse({data:id});
});
}
}
);
"permissions": [
"tabs",
"storage",
"cookies",
"web_accessible_resources",
"<all_urls>"
],
manifest.json权限
$(document).on("click", ".darkbtn", function (event) {
chrome.extension.sendRequest({ msg: "startFunc" },function(d){
console.log(d);
});
});
function getCookies(domain, name, callback) {
chrome.cookies.get({"url": domain, "name": name}, function(cookie) {
if(callback) {
callback(cookie.value);
}
});
}
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse){
if(request.msg == "startFunc")
{
getCookies("http://localhost", "api_key", function(id) {
//getCookies("http://developer.chrome.com/extensions/cookies.html", "Sample1", function(id) {
sendResponse({data:id});
});
}
}
);
"permissions": [
"tabs",
"storage",
"cookies",
"web_accessible_resources",
"<all_urls>"
],
“权限”:[
“标签”,
“存储”,
“饼干”,
“网络可访问资源”,
""
],
您可以使用在扩展及其内容脚本之间建立通信。如前所述,由于内容脚本在网页上下文中运行,而不是在扩展中运行,因此它们通常需要某种方式与扩展的其余部分进行通信
根据您的需要,从下面列出的不同类型的消息传递中进行选择:
运行时.sendMessage
或选项卡.sendMessage
运行时.connect
或选项卡.connect
打开从内容脚本到扩展页的长期频道,反之亦然
文档中提供了有关如何执行消息传递的重要信息和示例。您可以使用在扩展及其内容脚本之间建立通信。如前所述,由于内容脚本在网页上下文中运行,而不是在扩展中运行,因此它们通常需要某种方式与扩展的其余部分进行通信 根据您的需要,从下面列出的不同类型的消息传递中进行选择:
运行时.sendMessage
或选项卡.sendMessage
运行时.connect
或选项卡.connect
打开从内容脚本到扩展页的长期频道,反之亦然