0

간단한 예로 모든 웹 페이지의 맨 아래에 단어를 삽입하고 사용자가 해당 단어를 변경할 수있게하려고한다고 가정 해 봅시다. 그래서 나는 (확장자 내에서) 사용자 페이지를 가지고 "localStorage.preferences = x;"를 호출하는 옵션 페이지를 가지고있다.Chrome 확장 프로그램의 환경 설정을 저장하려면 어떻게해야하나요?

다음으로 사용자는 http://www.google.com/으로 이동하고 localStorage.preferences에서 찾은 단어를 쓰는 스크립트를 삽입합니다. 문제는 현재 다른 도메인에 있기 때문에 내 확장 프로그램이 아닌 google.com 용 localStorage를 보게됩니다.

내 확장 프로그램의 옵션 페이지와 일부 타사 웹 페이지에 삽입 된 스크립트간에 데이터를 공유하려면 어떻게해야합니까?

+0

도메인 간 정책을 위반하므로 불가능합니다. 이것은 다소 도움이 될 수 있습니다. http://www.nczonline.net/blog/2010/09/07/learning-from-xauth-cross-domain-localstorage/ – codef0rmer

답변

2

질문에 대한 가장 직접적인 대답은 아니지만 잠재적으로이를 회피하기위한 방법 중 하나는 message passing을 사용하여 다른 도메인의 로컬 저장소에 직접 액세스하는 것입니다. 콘텐츠 스크립트의 컨텍스트에서 Javascript를 실행한다고 가정하면 localStorage의 내용을 반환하는 키를 묻는 메시지를 배경 페이지로 전달할 수 있습니다.

+0

저는 Chrome 확장 개발에 매우 ​​능숙하며 이 정확한 대답을주십시오. 메시지 전달은 절대적으로 나아갈 길이입니다. –

관련 문제