브라우저 확장 - 팝업 페이지 수정
6120 단어 beginnershtmljavascriptwebdev
자, 이 글에서 우리는 바로 그것을 배울 것이고, 더 좋은 것은 이전 글에서 우리가 구현한 local storage의 색상을 기반으로 한다는 것입니다.
이 문서를 따르려면 이 문서GitHub branch를 시작점으로 사용하세요.
팝업 확장은 페이지를 수정합니다.
오늘 달성하고자 하는 것은 팝업 확장 내부의 버튼을 클릭하면 활성 탭의 색상이 변경된다는 것입니다.
먼저
manifest.json
파일에 몇 가지 새 권한을 추가해야 합니다.{
"permissions": ["alarms", "notifications", "storage", "activeTab", "scripting"],
}
새 항목은
activeTab
및 scripting
입니다.다음을 수행합니다.
activeTab
를 사용하면 활성 탭scripting
브라우저를 통해 스크립트를 삽입할 수 있습니다이제 계속해서 팝업 페이지를 수정해 보겠습니다.
src/App.jsx
파일을 열고 렌더링 섹션에 버튼을 추가합니다.return <button onClick={colorize}>Colorize 💖</button>;
이제 이
colorize
함수를 추가해 보겠습니다.const colorize = async () => {
const [tab] = await chrome.tabs.query({ active: true, currentWindow: true });
chrome.scripting.executeScript({
target: { tabId: tab.id },
function: changeColor,
});
};
이것은 매우 복잡해 보이지만 걱정하지 마십시오. 이를 안내해 드리겠습니다.
먼저 활성 탭을 가져와야 합니다. 이를 위해 탭 쿼리를 사용할 수 있습니다.
활성 탭이 있으면 크롬 스크립팅 API를 호출할 수 있습니다.
해당 탭에 스크립트나 간단한 함수를 삽입할 수 있는
executeScript
함수를 호출합니다.우리의 경우에는
changeColor
함수를 주입합니다.그런 다음 이 함수를 이 파일에 추가하여 사용할 수 있습니다.
const changeColor = () => {
chrome.storage.sync.get('color', ({ color }) => {
document.body.style.backgroundColor = color;
});
};
이 기능은 로컬 저장소를 읽고 여기에서 색상을 가져옵니다.
그런 다음 문서 본문을 해당 색상으로 설정합니다.
짜잔!
버튼을 클릭하면 모든 웹사이트를 변경할 수 있습니다!
Note: Remember that we added the colors in local storage? You can play around by changing the color in your options.
GitHub에서 전체 코드를 찾을 수도 있습니다.
읽어주셔서 감사합니다. 연결해 봅시다!
제 블로그를 읽어주셔서 감사합니다. 내 이메일 뉴스레터를 구독하고 Facebook에 연결하거나
Reference
이 문제에 관하여(브라우저 확장 - 팝업 페이지 수정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dailydevtips1/browser-extensions-popup-page-modifications-2ji6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)