(배경 페이지를 통해) localStorage를 사용하는 것 외에도 콘텐츠 스크립트에서 배경 페이지로 메시징하여 해당 변수를 배경 페이지에 직접 저장할 수 있습니다. 해당 변수가 확장 페이지 (다른 내용 또는 삽입 된 스크립트)에 있으면 chrome.extension.getBackgroundPage().window.variableYouWant
메소드를 사용하여 변수를 쉽게 저장하고 메시징을 통해 컨텐츠 스크립트 자체에서 해당 변수에 액세스 할 수 있습니다.
이 변수는 다음과 같이 배경 페이지에 해당 변수를 보낼 컨텐츠 스크립트 사용 메시징에있는 경우 :
chrome.runtime.sendMessage(object);
object
당신이 보낼 수있는 개체 수 있습니다. 당신이 그 변수를 필요로 할 때
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
myVariabeInBackground = message.yourObjectProperties;
});
당신은 (내용 스크립트 이외의) 확장 페이지에서 chrome.extension.getBackgroundPage().window.myVariabeInBackground
를 사용하거나 콘텐츠 스크립트에 배경 페이지에서 메시지를 보낼 수 있습니다 : 배경 페이지에
이 같은 lisner 가지고 배경 페이지에 자신을
chrome.tabs.sendMessage(tabId, messageObject)
를 호출하여이 같은 청취자를함으로써 컨텐츠 스크립트에 나타납니다
chrome.runtime.onMessage.addListener(
function(request, sender) {}); //request is your sent object.
로컬 스토리지는 또한 당신은 당신의 C에 그 저장된 변수를 얻기 위해 같은 일을 할 수있는 경우 ontent 스크립트.
아니요, 콘텐츠 스크립트에서 백그라운드 페이지에 직접 액세스 할 수 없습니다.
추 신 : 확장이 다시로드되면 백그라운드 페이지의 변수가 재설정됩니다. 확장 프로그램을 다시로드 한 후에도 해당 변수를 사용하려면 로컬 저장소를 사용하십시오. 브라우저 동작에서 확장 프로그램이 다시로드되지 않습니다. 자세한 내용은
는 https://developer.chrome.com/extensions/messaging
페이지 URL을 키로 사용하여 문자열로 묶은 JSON을 저장하는 쿠키를 사용하십시오. –
@RoryMcCrossan example2.com에서 example1.com에 설정된 쿠키에 액세스 할 수 없다고 생각합니다. –
** 크롬은 도메인마다 서로 다른 저장소를 보유합니다. 이 방법을 수행 할 수있는 방법은 무엇입니까? ** 대답은 아니오입니다. 확장 영역에 대한 로컬 저장소는 도메인에 관계없이 격리되어 있습니다. –