[ ๋ฌธ์ ] ํ์ด๋จธ๋ฅผ ์ ์ฉํ๋ setInterval์ด ๊ฐํ์ ์ผ๋ก ์คํ๋์ง ์์ ์๋ก์ด window๋ฅผ ์ด์์ ๋, background.js๊ฐ ์ฌ ์คํ๋๋ฉด์, tabId๊ฐ โโ๋ก ์ด๊ธฐํ ๋จ setInterval Manifest V3๋ก ์ด์ ๋๋ฉด์, chrome alarms API๋ก ๋ณ๊ฒฝ https://developer.chrome.com/docs/extensions/mv3/migrating_to_service_workers/#alarms chrome.alarms.create({ when:Date.now(), periodInMinutes: 1/60}); chrome.alarms.onAlarm.addListener(() => { // Do Action }); alarms ์ฌ์ฉ์ ์ํด, Manifest์ Perm..
๐ป ๊ฐ๋ฐ ์ผ์ง/FrontEnd

[ localStorage์์ ๋ฐ์ดํฐ ์ป๊ธฐ ] ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ด๋ฏธ ์น ํ์ด์ง์์ localStorage์ ์ ์ฅํ๊ณ ์์์! โ localStorage ๋ด์ฉ ์ป์ด์ค๊ธฐ 1. ๋ฐ์ดํฐ ๊ฐ์ ธ์ฌ Tab์ ID ์ป๊ธฐ chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab)=>{ if(changeInfo.status === 'complete'){ if(tab.url.includes("URL์ฃผ์"){ globalTabId = tabId; } } }); ์ฌ์ฉ์๊ฐ ๋ฏธ๋ฆฌ ์ง์ ๋ URL์ ์ ์ํ ๊ฒฝ์ฐ, ํด๋น ํญ์ ID๋ฅผ ์ ์ฅ ํด๋น ํ๋ก์ ํธ์์๋ ํญ์ ์ํ๋ฅผ ์ ์งํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ ์ญ๋ณ์๋ก ์ ์ฅ ํ ํ์ฉ 2. localStorage ๊ฐ์ ธ์ฌ Script ์ฃผ์
chrome.scrip..

[ manifest.json ] ์ฌ์ฉ์์ Tab ์ ๋ณด๋ฅผ ํ์ฉํ์ฌ ํ๋ฉด์ ์ ์ดํ๊ธฐ ๋๋ฌธ์, permissions์ ์ถ๊ฐ /* manifest.json */ ... "permissions": [ "...", "tabs", "scripting" ], "host_permissions":[ /* ํน์ URL์ script ์ฃผ์
์ ์ํ ๊ถํ */ "http://*/", "https://*/" ], ... [ Background JS ] ๋ค์ํ ๋ธ๋ผ์ฐ์ event๋ค์ monitoringํ์ฌ ์์
์ ์ํํ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ค ํญ URL ๋ณ๊ฒฝ ๊ฐ์ง chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab)=>{ if(changeInfo.status === 'complete')..

Chrome Extension ๋ง๋ค๊ธฐ - 1 ๐ก Chrome Storage๋ฅผ ํ์ฉํ Extension์ CRUD [ ํ๊ฒฝ ] [FE] HTML / CSS [BE] Javascript / JQuery [DB] Chrome Storage Chrome Extension ( MV3 ) [ manifest.json ] Chrome Extension์ ๋ผ๋๊ฐ์ ์กด์ฌ์ธ manifest.json ์์ฑ! manifest๋ง ์์ฑํด๋ Chrome Extension์ ์ฌ๋ ค ์ฑ์ ํ์ธํ ์ ์๋ค. { "name": "Docong", "description": "Docong Extension", "version": "1.0", "manifest_version": 3", "action": { "default_popup": "pop..