자바스크립트 fetch API를 사용한 웹 브라우저 확장 기능 개발
웹 브라우저 확장 기능은 사용자 경험을 향상시키고 웹사이트에 추가 기능을 제공하는 데 유용한 도구입니다. 자바스크립트(fetch API)를 사용하여 웹 브라우저 확장 기능을 개발하는 방법에 대해 알아보겠습니다.
fetch API란?
Fetch API는 웹 브라우저에서 HTTP 요청을 보낼 수 있는 인터페이스입니다. 이를 통해 AJAX 요청을 보내고, 서버로부터 데이터를 받아올 수 있습니다. 이는 기존의 XHR(XMLHttpRequest) 방식보다 더 간단하고 직관적인 방법으로 데이터를 주고 받을 수 있도록 도와줍니다.
웹 브라우저 확장 기능 개발 예시
아래 예시는 웹 브라우저 확장 기능을 개발하는 과정에서 fetch API를 사용하는 방법을 보여줍니다.
// content_script.js
// 웹 페이지 로드 완료 후 실행되는 함수
function onContentLoaded() {
// 현재 웹 페이지의 URL 주소를 가져온다.
const url = window.location.href;
// API 서버로 GET 요청을 보낸다.
fetch('https://api.example.com/data?url=' + encodeURIComponent(url))
.then(response => response.json())
.then(data => {
// 서버로부터 받아온 데이터를 가지고 웹 페이지 상의 특정 요소를 변경한다.
document.querySelector('.data-container').innerText = data;
})
.catch(error => {
console.error('Error:', error);
});
}
// 웹 페이지 로드가 완료되면 onContentLoaded 함수를 실행한다.
window.addEventListener('DOMContentLoaded', onContentLoaded);
위 코드는 content_script.js 파일에 작성된 예시입니다.
- 웹 페이지가 로드되면
onContentLoaded
함수가 실행됩니다. window.location.href
를 사용하여 현재 웹 페이지의 URL 주소를 가져옵니다.fetch
함수를 사용하여 API 서버로 GET 요청을 보냅니다. URL 주소를 인코딩하여 요청 파라미터로 사용합니다.- 서버로부터 받아온 응답은
response.json()
메서드를 사용하여 JSON 형태로 파싱됩니다. - 파싱된 데이터를 사용하여 웹 페이지 상의 특정 요소를 변경합니다. 여기서는
.data-container
클래스를 가진 요소의 내용을 변경하는 예시입니다. - 에러가 발생한 경우, 콘솔에 에러를 출력합니다.
자바스크립트 fetch API를 사용한 웹 브라우저 확장 기능 개발의 예시를 살펴보았습니다. fetch API를 활용하면 간단하고 직관적인 방식으로 웹 브라우저와 서버 간의 데이터 통신을 구현할 수 있습니다. 자신의 웹 브라우저에 확장 기능을 추가하고 싶다면 fetch API를 적극 활용해보세요!