我有一个简单的函数,只需将location.href
从contentscript传递到popup.html页面。它不起作用。我得到的是......
..
chrome.tabs.getSelected(null,function(tab)
{
chrome.tabs.sendRequest({req: "getlocation"}, function(response){
return response.reply;
});
});
在我的内容中......
case "getlocation":
sendResponse({
reply: location.href
});
break;
为什么我的代码不起作用?
答案 0 :(得分:2)
缺少某些参数,而且您无法使用异步回调函数中的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;
}
});
答案 1 :(得分:0)
sendRequest已过时。