2014-03-13 3 views
0

특정 웹 페이지 (예 : www.website.dev)와 내가 만든 크롬 확장 사이에 통신 채널을 만들려고합니다.특정 웹 페이지와 크롬 확장 간의 통신

postMessage를 사용하면 웹 페이지에서 확장 프로그램으로 작동하지만 확장 프로그램에서 웹 페이지로 확장 할 수 없습니다.

내가 구글의 예를 시도했지만 배경 페이지를 사용

당신의 도움이

편집에 대한

감사 : 미안 내가 콘텐츠 스크립트가 내 매니페스트에서 content_script와 background.js 의 차이를 이해하지 않는다 = test.js "배경"은 무엇입니까?

답변

0

웹 페이지의 콘텐츠 스크립트가 통신을 시작해야하므로 (탭 ID를 얻음) 또는 특정 URL이있는 탭에 대한 백그라운드 쿼리를 가지고 sendMessage를 사용할 수 있습니다. 두 개의 별도 함수 chrome.extension.sendMessagechrome.tabs.sendMessage이 여기에 사용되었습니다.

다음 코드는 나를 위해 작동 :

content_script.js :

chrome.extension.sendMessage({"msg":"hello"});

background.js :

chrome.extension.onMessage.addListener(function (request, sender, sendResponse) { 
    if (request.msg == "hello"){ 
    senderTab = sender.tab.id; 
    chrome.tabs.sendMessage(senderTab, {"msg": "ehlo"}); 
    }; 
}) 
관련 문제