★content_scripts
// 変数 msg に "send" を格納
var msg = "send";
// sendRequest で background_page に送信
chrome.extension.sendRequest({action: "chgMsg", text: msg}, function(rcv) {
// function(rcv) がコールバックとして受信時に発動
getMsg(rcv);
});
// コールバック受信により発動
function getMsg(afterMsg) {
alert("after:" + afterMsg);
}
var msg = "send";
// sendRequest で background_page に送信
chrome.extension.sendRequest({action: "chgMsg", text: msg}, function(rcv) {
// function(rcv) がコールバックとして受信時に発動
getMsg(rcv);
});
// コールバック受信により発動
function getMsg(afterMsg) {
alert("after:" + afterMsg);
}
★background_page 内の Javascript
// request には action と text が格納されている
function getMessages(request, sender, callback) {
// コールバック用としての callback に返信用として "received" を格納
if (request.action == "chgMsg") callback("received");
}
// content_scripts での sendRequest を受信
chrome.extension.onRequest.addListener(getMessages);
function getMessages(request, sender, callback) {
// コールバック用としての callback に返信用として "received" を格納
if (request.action == "chgMsg") callback("received");
}
// content_scripts での sendRequest を受信
chrome.extension.onRequest.addListener(getMessages);
結果、「after:recieved」という文字列がアラートとして表示される。
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.