- 최대한 빠르게
URL을 찾기 위해 방법을 찾아봤다.
omnibox
- 입력한
keyword를 주소창에 넣고tab으로 누르면 활성화 됨. - https://developer.chrome.com/docs/extensions/reference/omnibox/
manifest.json
{
"omnibox": {
"keyword": "as"
}
}
background.js
- 아래 기능들 외의 내용은 공홈 자료를 참고하시길!
//첫 번째 항목으로 표시되는 단일 문자열 속성
chrome.omnibox.setDefaultSuggestion({
description: ''
});
//검색어에 따른 리스너
chrome.omnibox.onInputChanged.addListener((text, suggest) => {
//check that the length of the text is 6 characters
if (text.length !== 6) {
suggest([]);
return;
}
suggest([
{
content: `${url}`,
deletable: true,
description: `설명... `
}
]);
});
//해당 값을 선택했을 때
chrome.omnibox.onInputEntered.addListener((text, OnInputEnteredDisposition) => {
if (OnInputEnteredDisposition === 'currentTab') {
chrome.tabs.create({text});
} else {
chrome.tabs.update({text});
}
});
storage
- https://developer.chrome.com/docs/extensions/reference/storage/
- localStorage API 와 비슷하게 사용
- 데이터는 객체로 저장할 수 있다
- 비동기처리, async await 나 promise 를 사용하여 동기처럼도 사용 가능!
- manifest.json
{
"permissions": [
"storage"
]
}
local
- 최대 5MB 까지 사용 가능
- unlimitedStorage 를 사용하면 용량제한 없이 사용 가능.
chrome.storage.local.set({
test: 'test value'
});
chrome.storage.local.get((data) => {
console.log(data.test);
});
sync
- storage.sync 는 Chrome과 자동으로 동기화하여 사용.
- local 과 다르게 제한이 있다.
- https://developer.chrome.com/docs/extensions/reference/storage/#property-sync
// 크롬 스토리지에 저장된 값 가져오기
chrome.storage.sync.get((data) => {
console.log(data.test);
});
// 크롬 스토리지에 입력 값 저장
chrome.storage.sync.set({
test: 'test value'
});
다운로드 기능
- 입력했던 데이터를
export하기 위해 사용 - https://developer.chrome.com/docs/extensions/reference/downloads/
{
"permissions": [
"downloads"
]
}