2010-07-22 4 views
4

안녕과 통신, 확인 나는 콘텐츠 스크립트를 사용하여 백그라운드 페이지와 통신 할 수 있는지 알고 있어요? 기본적으로 someFunction()을 실행하기 전에 응답이 콘텐트 스크립트로 되돌아 올 때까지 기다리시겠습니까?내용 스크립트 BG 페이지 [동기]

그렇지 않은 경우 정상적인 xmlhttprequest를 사용하여 bg 페이지와 통신 할 수 있습니까?

왜 묻는거야?

"document_start"(필수)의 웹 페이지에 컨텐츠 스크립트를로드하고 CS의 내 변수 중 하나가 옵션 페이지에 설정된 localStorage 변수에 의존합니다. 그래서 someFunction()이 호출되기 전에 배경 페이지에서 localStorage 변수가 필요합니다.

미리 감사드립니다.

답변

1

콜백을 연결하여 다음 요청을 호출 할 수 있습니다.

또는

명시 적으로 XHR을 동기식으로 지정할 수 있습니다.

chrome.extension.sendRequest({action:'test'}, function(response) { 
    someFunction(response); // Calling the function 
    // or 
    chrome.extension.sendRequest(...); 
}); 
function someFunction (resp) { 
    // Execute code 
}; 
+0

someFunction()을 호출하기 전에 배경 페이지의 응답이 콘텐츠 스크립트로 돌아 오도록 "콜백 연결"예제를 제공 할 수 있습니까? – UICodes

+0

오케이, 오해가 있습니다. 예제에서 "someFunction()"은 페이지에 포함 된 다른 모든 논리를 나타내며 콜백 내부에서 이동할 수 없습니다. 기술적으로 (질문에 대한 답변을했지만) 배경 페이지에서 데이터를 즉시 검색하는 방법을 찾고 있습니다. 또는 가능하지 않은 경우 동 기적으로 (페이지가 응답을 기다리는 동안) 데이터를 검색하는 방법을 찾고 있습니다. – UICodes

+0

그것은 2017 년이며 Google은 여전히이를 수행 할 방법이 없습니다. * 박수, 박수 * – user2867288