コンテンツスクリプトと拡張機能の間でメッセージをやり取りしようとしています
これは私がコンテンツスクリプトに持っているものです
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
関数のコード内ではポートはnull です。