티스토리 뷰

chrome.extension.sendRequest() 의 사용법을 알아보자.

http://code.google.com/chrome/extensions/extension.html

 

위의 경로에도 나와있지만, 이 API는 message passing 의 방법이다.

이 message passing 으로 

  • extension 과 content script
  • extension 과 extension

사이의 data 를 주고 받을 수 있다.

 

chrome 에서 single message passing 를 할 때 쓰이는 함수는 아래 2개이다.

  • chrome.extension.sendRequest()
  • chrome.tabs.sendRequest()

(http://code.google.com/chrome/extensions/messaging.html)

 

 

sendRequest()

http://code.google.com/chrome/extensions/extension.html#method-sendRequest

 

sendRequest()는 아래와 같은 모습을 갖는다.

chrome.extension.sendRequest(string extensionId, any request, function responseCallback)

 

 

 

chrome.extension.sendRequest({action: "hello", url: window.location.href}, function(response) {

     // do somethings

  }

)

 

 

 

여기서 message 를 receive 해서 처리하는 부분은 onRequest.addListener 를 구성해 놓고 있어야 한다.

혹시 헷갈릴 듯 하여 얘기를 하면, 위의 function(response) 이 아래의 sendResponse() 가 되는 것이다.

 

example -------------------------------

chrome.extension.sendRequest({action: "hello"}, function(response) 

  {

    if (response.he) {

      alert(response.he)

    }

  }

)

chrome.extension.onRequest.addListener(

  function(request, sender, sendResponse) {

    switch(request.action) {

    // do something

      case "hello":

        sendResponse({he : "good"})

    }

  }

)

onRequest 부분은 sendResponse 가 호출되기 전까지 살아있게 된다. 그러므로 sendResponse 를 부르는 습관을 드리는 것이 좋다고 한다.

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함