콘텐츠 스크립트와 확장 프로그램 사이에 메시지를 전달하려고합니다.
내용 스크립트에서 내가 가진 것입니다
chrome.runtime.sendMessage({type: "getUrls"}, function(response) {
console.log(response)
});
그리고 백그라운드 스크립트에서
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
if (request.type == "getUrls"){
getUrls(request, sender, sendResponse)
}
});
function getUrls(request, sender, sendResponse){
var resp = sendResponse;
$.ajax({
url: "http://localhost:3000/urls",
method: 'GET',
success: function(d){
resp({urls: d})
}
});
}
이제 getUrls
함수 에서 ajax 호출 전에 응답을 보내면 응답이 성공적으로 전송되지만 응답을 보낼 때 ajax 호출의 성공 방법에서는 보내지 않습니다. 디버깅을 할 때 볼 수 있습니다. sendResponse
함수 코드 내에서 포트가 널 입니다.