설명
chrome.bookmarks
API를 사용하여 북마크를 생성, 구성, 조작하세요. 맞춤 북마크 관리자 페이지를 만드는 데 사용할 수 있는 페이지 재정의도 참고하세요.
![별표를 클릭하면 북마크가 추가됩니다.](https://developer.chrome.google.cn/static/docs/extensions/reference/api/images/bookmarks.png?authuser=19&hl=ko)
권한
bookmarks
'북마크'를 선언해야 합니다. 북마크 API를 사용할 수 있는 권한을 보유하고 있어야 합니다. 예를 들면 다음과 같습니다.
{
"name": "My extension",
...
"permissions": [
"bookmarks"
],
...
}
개념 및 사용법
객체 및 속성
북마크는 트리로 구성되며 트리의 각 노드는 북마크 또는 폴더임 그룹이라고도 합니다. 트리의 각 노드는 bookmarks.BookmarkTreeNode 객체를 지원합니다.
BookmarkTreeNode
속성은 chrome.bookmarks
API 전체에서 사용됩니다. 예를 들어
bookmarks.create를 호출할 때 새 노드의 상위 요소 (parentId
)를 전달하고, 필요한 경우
노드의 index
, title
, url
속성 자세한 내용은 bookmarks.BookmarkTreeNode를 참고하세요.
속성이 포함될 수 있는 모든 노드에 대한 정보를 제공합니다
예
다음 코드는 '확장 프로그램 북마크'라는 제목으로 폴더를 만듭니다. 첫 번째 인수는
create()
는 새 폴더의 속성을 지정합니다. 두 번째 인수는
폴더가 생성된 후에 실행됩니다.
chrome.bookmarks.create(
{'parentId': bookmarkBar.id, 'title': 'Extension bookmarks'},
function(newFolder) {
console.log("added folder: " + newFolder.title);
},
);
다음 스니펫은 확장 프로그램에 대한 개발자 문서를 가리키는 북마크를 만듭니다. 이후 북마크를 만들지 못하더라도 문제가 발생하지는 않지만, 이 코드는 콜백함수로 전달하세요.
chrome.bookmarks.create({
'parentId': extensionsFolderId,
'title': 'Extensions doc',
'url': 'https://developer.chrome.com/docs/extensions',
});
이 API를 사용하려면 chrome-extension-samples에서 북마크 API 예시를 설치하세요. 저장소
유형
BookmarkTreeNode
북마크 트리의 노드 (북마크 또는 폴더) 하위 노드는 상위 폴더 내에 정렬됩니다.
속성
-
어린이
BookmarkTreeNode[] 선택사항
이 노드의 하위 요소가 정렬된 목록입니다.
-
dateAdded
숫자 선택사항
이 노드가 생성된 시간이며 에포크 이후 밀리초 단위로 표시됩니다 (
new Date(dateAdded)
). -
dateGroupModified
숫자 선택사항
이 폴더의 콘텐츠가 마지막으로 변경된 시간(에포크 이후 밀리초)입니다.
-
dateLastUsed
숫자 선택사항
Chrome 114 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.이 노드가 마지막으로 열린 시간(에포크 이후 밀리초)입니다. 폴더에 설정되지 않음
-
id
문자열
노드의 고유 식별자입니다. ID는 현재 프로필 내에서 고유하며 브라우저가 다시 시작된 후에도 유효합니다.
-
색인
숫자 선택사항
상위 폴더 내 이 노드의 0 기반 위치입니다.
-
parentId
문자열(선택사항)
상위 폴더의
id
입니다. 루트 노드에서는 생략됩니다. -
제목
문자열
노드에 대해 표시되는 텍스트입니다.
-
수정할 수 없는
"managed"
선택사항이 노드를 수정할 수 없는 이유를 나타냅니다.
managed
값은 이 노드가 시스템 관리자 또는 관리 대상 사용자의 관리자가 구성했음을 나타냅니다. 사용자 및 확장 프로그램이 노드를 수정할 수 있는 경우 생략됩니다 (기본값). -
URL
문자열(선택사항)
사용자가 북마크를 클릭하면 이동하는 URL입니다. 폴더의 경우 생략됩니다.
BookmarkTreeNodeUnmodifiable
이 노드를 수정할 수 없는 이유를 나타냅니다. managed
값은 시스템 관리자가 노드를 구성했음을 나타냅니다. 사용자 및 확장 프로그램이 노드를 수정할 수 있는 경우 생략됩니다 (기본값).
값
'관리됨'
CreateDetails
create() 함수에 전달된 객체입니다.
속성
-
색인
숫자 선택사항
-
parentId
문자열(선택사항)
기본값은 기타 북마크 폴더입니다.
-
제목
문자열(선택사항)
-
URL
문자열(선택사항)
속성
MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE
북마크 쓰기 작업이 더 이상 Chrome에서 제한되지 않습니다.
값
1000000
MAX_WRITE_OPERATIONS_PER_HOUR
북마크 쓰기 작업이 더 이상 Chrome에서 제한되지 않습니다.
값
1000000
메서드
create()
chrome.bookmarks.create(
bookmark: CreateDetails,
callback?: function,
)
지정된 parentId 아래에 북마크 또는 폴더를 만듭니다. URL이 NULL이거나 누락된 경우 폴더가 됩니다.
매개변수
-
북마크
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(result: BookmarkTreeNode) => void
반환 값
-
Promise<BookmarkTreeNode>
Chrome 90 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
get()
chrome.bookmarks.get(
idOrIdList: string | [string, ...string[]],
callback?: function,
)
지정된 bookmarkTreeNode를 검색합니다.
매개변수
-
idOrIdList
string | [문자열, ...문자열[]]
단일 문자열 값 ID 또는 문자열 값 ID의 배열
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(results: BookmarkTreeNode[]) => void
-
결과
-
반환 값
-
Promise<BookmarkTreeNode[]>
Chrome 90 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
getChildren()
chrome.bookmarks.getChildren(
id: string,
callback?: function,
)
지정된 bookmarkTreeNode ID의 하위 항목을 검색합니다.
매개변수
-
id
문자열
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(results: BookmarkTreeNode[]) => void
-
결과
-
반환 값
-
Promise<BookmarkTreeNode[]>
Chrome 90 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
callback?: function,
)
최근에 추가된 북마크를 검색합니다.
매개변수
-
numberOfItems
숫자
반환할 최대 항목 수입니다.
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(results: BookmarkTreeNode[]) => void
-
결과
-
반환 값
-
Promise<BookmarkTreeNode[]>
Chrome 90 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
getSubTree()
chrome.bookmarks.getSubTree(
id: string,
callback?: function,
)
지정된 노드에서 시작하는 북마크 계층 구조의 일부를 검색합니다.
매개변수
-
id
문자열
검색할 하위 트리의 루트 ID입니다.
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(results: BookmarkTreeNode[]) => void
-
결과
-
반환 값
-
Promise<BookmarkTreeNode[]>
Chrome 90 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
getTree()
chrome.bookmarks.getTree(
callback?: function,
)
전체 북마크 계층 구조를 검색합니다.
매개변수
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(results: BookmarkTreeNode[]) => void
-
결과
-
반환 값
-
Promise<BookmarkTreeNode[]>
Chrome 90 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
move()
chrome.bookmarks.move(
id: string,
destination: object,
callback?: function,
)
지정된 bookmarkTreeNode를 제공된 위치로 이동합니다.
매개변수
-
id
문자열
-
destination
객체
-
색인
숫자 선택사항
-
parentId
문자열(선택사항)
-
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(result: BookmarkTreeNode) => void
반환 값
-
Promise<BookmarkTreeNode>
Chrome 90 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
remove()
chrome.bookmarks.remove(
id: string,
callback?: function,
)
북마크 또는 빈 북마크 폴더를 삭제합니다.
매개변수
-
id
문자열
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
프로미스<void>
Chrome 90 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
removeTree()
chrome.bookmarks.removeTree(
id: string,
callback?: function,
)
북마크 폴더를 재귀적으로 삭제합니다.
매개변수
-
id
문자열
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
프로미스<void>
Chrome 90 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
search()
chrome.bookmarks.search(
query: string | object,
callback?: function,
)
지정된 쿼리와 일치하는 북마크TreeNode를 검색합니다. 객체로 지정된 쿼리는 지정된 모든 속성과 일치하는 북마크TreeNode를 생성합니다.
매개변수
-
검색어
string | 객체
북마크 URL 및 제목과 일치하는 단어 및 따옴표로 묶인 구문 또는 객체입니다. 객체인 경우
query
,url
,title
속성을 지정할 수 있으며, 지정된 모든 속성과 일치하는 북마크가 생성됩니다.-
검색어
문자열(선택사항)
북마크 URL 및 제목과 일치하는 단어 및 인용구의 문자열입니다.
-
제목
문자열(선택사항)
북마크의 제목입니다. 그대로 일치합니다.
-
URL
문자열(선택사항)
북마크의 URL입니다. 그대로 일치합니다. 폴더에는 URL이 없습니다.
-
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(results: BookmarkTreeNode[]) => void
-
결과
-
반환 값
-
Promise<BookmarkTreeNode[]>
Chrome 90 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
update()
chrome.bookmarks.update(
id: string,
changes: object,
callback?: function,
)
북마크 또는 폴더의 속성을 업데이트합니다. 변경하려는 속성만 지정합니다. 지정되지 않은 속성은 변경되지 않은 상태로 유지됩니다. 참고: 현재는 'title'[제목]만 있습니다. 및 'url' 는 지원됩니다.
매개변수
-
id
문자열
-
변경사항
객체
-
제목
문자열(선택사항)
-
URL
문자열(선택사항)
-
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(result: BookmarkTreeNode) => void
반환 값
-
Promise<BookmarkTreeNode>
Chrome 90 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
이벤트
onChanged
chrome.bookmarks.onChanged.addListener(
callback: function,
)
북마크 또는 폴더가 변경되면 실행됩니다. 참고: 현재는 제목 및 URL 변경에서만 이 트리거가 트리거됩니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(id: string, changeInfo: object) => void
-
id
문자열
-
changeInfo
객체
-
제목
문자열
-
URL
문자열(선택사항)
-
-
onChildrenReordered
chrome.bookmarks.onChildrenReordered.addListener(
callback: function,
)
UI에서 정렬되는 순서로 인해 폴더의 하위 요소 순서가 변경되면 실행됩니다. move()의 결과로 호출되지 않습니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(id: string, reorderInfo: object) => void
-
id
문자열
-
reorderInfo
객체
-
childIds
문자열[]
-
-
onCreated
chrome.bookmarks.onCreated.addListener(
callback: function,
)
북마크 또는 폴더가 생성될 때 실행됩니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(id: string, bookmark: BookmarkTreeNode) => void
-
id
문자열
-
북마크
-
onImportBegan
chrome.bookmarks.onImportBegan.addListener(
callback: function,
)
북마크 가져오기 세션이 시작되면 실행됩니다. 비용이 많이 드는 관찰자는 onImportEnded가 실행될 때까지 초기화된 업데이트를 무시해야 합니다. 관찰자는 다른 알림을 즉시 처리해야 합니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.() => void
onImportEnded
chrome.bookmarks.onImportEnded.addListener(
callback: function,
)
북마크 가져오기 세션이 종료되면 실행됩니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.() => void
onMoved
chrome.bookmarks.onMoved.addListener(
callback: function,
)
북마크 또는 폴더가 다른 상위 폴더로 이동될 때 실행됩니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(id: string, moveInfo: object) => void
-
id
문자열
-
moveInfo
객체
-
색인
숫자
-
oldIndex
숫자
-
oldParentId
문자열
-
parentId
문자열
-
-
onRemoved
chrome.bookmarks.onRemoved.addListener(
callback: function,
)
북마크 또는 폴더가 삭제되면 실행됩니다. 폴더가 재귀적으로 삭제되면 폴더에 대해 단일 알림이 실행되고 그 콘텐츠에 대해서는 알림이 실행되지 않습니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(id: string, removeInfo: object) => void
-
id
문자열
-
removeInfo
객체
-
색인
숫자
-
Chrome 48 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.
-
parentId
문자열
-
-