필요한 데이터를 이미 웹 페이지에서 localStorage에 저장하고 있었음!
→ localStorage 내용 얻어오기
chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab)=>{
if(changeInfo.status === 'complete'){
if(tab.url.includes("URL주소"){ globalTabId = tabId; }
}
});
chrome.scripting.executeScript({
target: {tabId: globalTabId },
func: ()=>{return localStorage["key"];}
}, (result)=>{
console.log(result);
});
setInterval(()=>{
if(globalTabId!=""){
chrome.scripting.executeScript({
/* ... */
});
}
}, 1000);
setInterval()
: 일정 시간 간격을 두고 함수를 실행chrome.runtime.sendMessage & chrome.runtime.onMessage()
: chrome extension관련 npm 설치에도 불구하고 chrome.runtime을 인식하지 못함
→ 내부 JS가 소통할 때, 사용하는 방식이라 판단
document.dispatchEvent & document.addEventListner
: 같은 DOM을 공유하고 있지 않으므로 사용할 수 없음