2017-09-20 13 views
0

Chrome 브라우저는 여러 사용자 (페르소나)를 지원하므로 쿠키 및 세션 데이터가 다른 웹 페이지를로드 할 수 있습니다. 이것은 내가하고 싶은 일을하면서 위대한 일을하고있다. 이제 여러 사용자 계정에 설치된 확장 프로그램을 사용하여 사용자간에 정보를 공유하고 싶습니다.다른 사용자가 Chrome 확장 프로그램을 설치하면 어떻게 자동으로 대화 할 수 있나요?

어떻게해야할까요? 도와주세요.

세부 사항 및 아이디어 :

일부 쿠키 내가 대상 웹 페이지의 일부 설정을 변경할 수있는 몇 가지 새로운 기능을 사용하기를 설정하면. 일부 기능은 다르지만 핵심 정보는 동일해야합니다. 확장 코드를 통해 비교하고 싶습니다.

크롬 브라우저의 인물 기능을 사용하여 이전 버전과 새 버전의 크롬을 모두 크롬에로드하고 나란히 비교할 수 있습니다.

또한 이름, 가격, 정보와 같은 정보를 추출하기 위해 대상 웹 페이지를 긁는 크롬 확장 프로그램이 있습니다. 이것도 훌륭하게 작동합니다. 페이지의 이전 버전이나 새 버전의 긁힌 결과를 수동으로 확인할 수 있습니다.

도전 과제 : 다른 사람 (페르소나)에로드 된 웹 페이지간에 긁힌 결과를 어떻게 비교할 수 있습니까? 각 "사람"에는 확장 프로그램이 설치되어 실행 중입니다.

확장 ID를 사용하여 외부 메시지를 보내면 동일한 "사람"의 내선 번호 만받습니다.

각 "인물"확장의 배경 페이지를 보면 서로 다릅니다. 내 확장에 대한 값을 하나로 설정해도 다른 확장에 영향을 미치지 않습니다.

// code in background page. 
chrome.runtime.onMessageExternal.addListener(
    function(request, sender, sendResponse){ 
     console.log('background page was hit'); 
    }); 

// paste code in browser console. 
chrome.runtime.sendMessage('id_here', {getTargetData: true}, 
    function(response) { 
     console.log(response); 
    }); 
+0

당신이 검색 컨텍스트 사이의 통신에'사용 SharedWorker' 또는'ServiceWorker' 봤어 (HTTP 또는 WebSocket을 사용) 그냥 공유 서버에 데이터를 밀어하고 비교하는 데 사용할 수있는, 말했다? [사용자 스크립트로 공유 웹 작업자를로드하는 방법은 무엇입니까?] (https://stackoverflow.com/questions/38810002/)를 ​​참조하십시오. – guest271314

답변

2

클라이언트의 사용자간에 데이터를 공유 할 수 없습니다. 이렇게하면 확장 프로그램이 잠재적으로 사용자의 모든 데이터를 다운로드하여 다른 사용자와 공유 할 수 있습니다.