Chrome extensionでbackground.jsからpopup.jsの関数を呼びたい。
タイトルのようなことをするために下記コードを作成しました。しかし、関数も発火せずエラーも出ません。どうすればbackground.jsからpopup.jsにデータを送ることができますでしょうか。
background.js
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
chrome.tabs.query({active: true, windowId: chrome.windows.WINDOW_ID_CURRENT}, function(result){
chrome.tabs.sendMessage(result.shift().id, {
command: "get_dom"
},
function(msg) {
console.log("result message:", msg);
$.ajax({
type:"POST",
url:"http://localhost:3000",
data: JSON.stringify({
text: msg
}),
dataType: "json",
contentType:"application/json; charset=UTF-8",
crossDomain: true,
success: function(data){
console.log(data);
var popup = chrome.extension.getViews({type: "tab"});
if(popup.length > 0){
popup[0].showResult(data);
}
}
})
});
});
});
popup.js
$(document).ready(function(){
$('#submit').click(function(){
console.log("cliecked");
chrome.runtime.sendMessage({
command: "get_text"
});
});
function showResult(data){
console.log(data);
console.log("received message");
}
});