Некоторые параметры отсутствуют, плюс вы не можете использовать return
из функции асинхронного обратного вызова.
popup.html:
function getCurrentUrl(callback){
chrome.tabs.getSelected(null,function(tab){
chrome.tabs.sendRequest(tab.id, {req: "getlocation"}, function(response){
callback(response.reply);
});
});
}
getCurrentUrl(function(url){
console.log("url:", url);
});
content_script.js:
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
switch(request.req) {
case "getlocation":
sendResponse({
reply: window.location.href
});
break;
}
});