설명
chrome.browsingData
API를 사용하여 사용자의 로컬 프로필에서 인터넷 사용 기록을 삭제합니다.
권한
browsingData
매니페스트
이 API를 사용하려면 확장 프로그램 매니페스트에서 'browsingData' 권한을 선언해야 합니다.
{
"name": "My extension",
...
"permissions": [
"browsingData",
],
...
}
사용량
이 API의 가장 간단한 사용 사례는 사용자의 인터넷 사용 기록을 삭제하기 위한 시간 기반 메커니즘입니다.
코드는 사용자의 인터넷 사용 기록이 삭제되어야 하는 이전 날짜를 나타내는 타임스탬프를 제공해야 합니다. 이 타임스탬프는 Unix 에포크 (getTime
메서드를 통해 JavaScript Date
객체에서 가져올 수 있음) 이후의 밀리초 단위로 형식이 지정됩니다.
예를 들어 사용자의 지난 주 인터넷 사용 기록을 모두 삭제하려면 다음과 같이 코드를 작성할 수 있습니다.
var callback = function () {
// Do something clever here once data has been removed.
};
var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
chrome.browsingData.remove({
"since": oneWeekAgo
}, {
"appcache": true,
"cache": true,
"cacheStorage": true,
"cookies": true,
"downloads": true,
"fileSystems": true,
"formData": true,
"history": true,
"indexedDB": true,
"localStorage": true,
"passwords": true,
"serviceWorkers": true,
"webSQL": true
}, callback);
chrome.browsingData.remove
메서드를 사용하면 한 번의 호출로 다양한 유형의 인터넷 사용 기록을 삭제할 수 있으며 더 구체적인 여러 메서드를 호출하는 것보다 훨씬 빠릅니다. 하지만 한 가지 특정 유형의 인터넷 사용 기록 (예: 쿠키)만 삭제하려는 경우 더 세분화된 메서드를 사용하면 JSON으로 채워진 호출 대신 읽기 쉬운 대안을 사용할 수 있습니다.
var callback = function () {
// Do something clever here once data has been removed.
};
var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
chrome.browsingData.removeCookies({
"since": oneWeekAgo
}, callback);
사용자가 데이터를 동기화하는 경우 chrome.browsingData.remove
는 동기화 계정의 쿠키를 삭제한 후 자동으로 다시 빌드할 수 있습니다. 이는 동기화가 계속 작동하여 결국 서버에서 데이터가 삭제될 수 있게 하기 위함입니다. 그러나 동기화 계정의 쿠키를 삭제하는 데 더 구체적인 chrome.browsingData.removeCookies
를 사용할 수 있으며 이 경우 동기화가 일시중지됩니다.
특정 출처
특정 출처의 데이터를 삭제하거나 출처 집합을 삭제 대상에서 제외하려면 RemovalOptions.origins
및 RemovalOptions.excludeOrigins
매개변수를 사용하면 됩니다. 쿠키, 캐시, 저장소 (CacheStorage, FileSystems, IndexedDB, LocalStorage, ServiceWorkers, WebSQL)에만 적용할 수 있습니다.
chrome.browsingData.remove({
"origins": ["https://www.example.com"]
}, {
"cacheStorage": true,
"cookies": true,
"fileSystems": true,
"indexedDB": true,
"localStorage": true,
"serviceWorkers": true,
"webSQL": true
}, callback);
출처 유형
API의 옵션 객체에 originTypes
속성을 추가하면 적용해야 할 출처 유형을 지정할 수 있습니다. 현재 출처는 다음 세 가지 카테고리로 구분됩니다.
unprotectedWeb
는 사용자가 특별한 조치를 취하지 않고 방문하는 웹사이트의 일반적인 사례를 처리합니다.originTypes
를 지정하지 않으면 API는 기본적으로 보호되지 않는 웹 출처에서 데이터를 삭제합니다.protectedWeb
는 호스팅된 애플리케이션으로 설치된 웹 출처를 포함합니다. 예를 들어 Angry Birds를 설치하면 출처https://chrome.angrybirds.com
가 보호되고unprotectedWeb
카테고리에서 삭제됩니다. 이러한 출처의 데이터 삭제를 트리거할 때는 주의해야 합니다. 게임 데이터가 삭제되므로 취소할 수 없는 결과를 사용자에게 알려야 합니다. 조그만 돼지 집을 필요 이상으로 자주 두드리고 싶어 하는 사람은 없습니다.extension
는chrome-extensions:
스키마 아래의 출처를 포함합니다. 다시 말하지만 확장 프로그램 데이터를 삭제하는 것은 매우 주의해야 합니다.
보호된 웹사이트의 데이터만 삭제하도록 이전 예를 조정하여 다음과 같이 할 수 있습니다.
var callback = function () {
// Do something clever here once data has been removed.
};
var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
chrome.browsingData.remove({
"since": oneWeekAgo,
"originTypes": {
"protectedWeb": true
}
}, {
"appcache": true,
"cache": true,
"cacheStorage": true,
"cookies": true,
"downloads": true,
"fileSystems": true,
"formData": true,
"history": true,
"indexedDB": true,
"localStorage": true,
"passwords": true,
"serviceWorkers": true,
"webSQL": true
}, callback);
예
이 API를 사용하려면 chrome-extension-samples 저장소의 browsingData API 예를 설치하세요.
유형
DataTypeSet
데이터 유형 집합입니다. 누락된 데이터 유형은 false
로 해석됩니다.
속성
-
앱 캐시
불리언 선택사항
웹사이트의 앱 캐시
-
캐시
불리언 선택사항
브라우저의 캐시입니다.
-
cacheStorage
불리언 선택사항
Chrome 72 이상캐시 스토리지
-
쿠키
불리언 선택사항
브라우저의 쿠키입니다.
-
다운로드
불리언 선택사항
브라우저의 다운로드 목록입니다.
-
fileSystems
불리언 선택사항
웹사이트의 파일 시스템
-
formData
불리언 선택사항
브라우저에 저장된 양식 데이터입니다.
-
기록
불리언 선택사항
브라우저의 방문 기록입니다.
-
indexedDB
불리언 선택사항
웹사이트의 IndexedDB 데이터
-
localStorage
불리언 선택사항
웹사이트의 로컬 저장소 데이터
-
비밀번호
불리언 선택사항
저장된 비밀번호.
-
pluginData
불리언 선택사항
Chrome 88 이후 지원 중단됨플래시 지원이 중단되었습니다. 이 데이터 유형은 무시됩니다.
플러그인 데이터입니다.
-
serverBoundCertificates
불리언 선택사항
Chrome 76 이후 지원 중단됨서버 결합 인증서에 대한 지원이 삭제되었습니다. 이 데이터 유형은 무시됩니다.
서버 결합 인증서
-
serviceWorkers
불리언 선택사항
서비스 워커
-
webSQL
불리언 선택사항
웹사이트의 WebSQL 데이터
RemovalOptions
삭제할 데이터를 정확하게 결정하는 옵션입니다.
속성
-
excludeOrigins
string[] 선택사항
Chrome 74 이상있는 경우 이 목록에 있는 출처의 데이터는 삭제에서 제외됩니다.
origins
과(와) 함께 사용할 수 없습니다. 쿠키, 저장용량, 캐시에 대해서만 지원됩니다. 등록 가능한 전체 도메인의 쿠키가 제외됩니다. -
originTypes
객체(선택사항)
속성으로 지워야 하는 출발지 유형을 지정하는 객체입니다. 이 객체를 지정하지 않으면 기본적으로 '보호되지 않은' 출처만 삭제됩니다. 'protectedWeb' 또는 'extensions'를 추가하기 전에 정말 애플리케이션 데이터를 삭제하고 싶은지 확인하세요.
-
확장 프로그램
불리언 선택사항
사용자가 설치한 확장 프로그램 및 패키지 애플리케이션은 _반드시_ 주의를 기울여야 합니다.
-
protectedWeb
불리언 선택사항
호스팅된 애플리케이션으로 설치된 웹사이트는 주의하세요.
-
unprotectedWeb
불리언 선택사항
일반 웹사이트
-
-
origins
[string, ...string[]] optional
Chrome 74 이상있는 경우 이 목록에 있는 출처의 데이터만 삭제됩니다. 쿠키, 저장용량, 캐시에 대해서만 지원됩니다. 등록 가능한 전체 도메인의 쿠키가 삭제되었습니다.
-
이후
숫자 선택사항
에포크 이후 밀리초로 표시되는 이 날짜 또는 그 이후에 누적된 데이터를 삭제합니다 (JavaScript
Date
객체의getTime
메서드를 통해 액세스 가능). 없는 경우 기본값은 0입니다 (모든 인터넷 사용 기록 삭제).
방법
remove()
chrome.browsingData.remove(
options: RemovalOptions,
dataToRemove: DataTypeSet,
callback?: function,
)
사용자 프로필에 저장된 다양한 유형의 인터넷 사용 기록을 삭제합니다.
매개변수
-
dataToRemove
삭제할 데이터 유형 집합입니다.
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
Promise<void>
Chrome 96 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
callback?: function,
)
웹사이트의 앱 캐시 데이터를 지웁니다.
매개변수
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
Promise<void>
Chrome 96 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
callback?: function,
)
브라우저의 캐시를 삭제합니다.
매개변수
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
Promise<void>
Chrome 96 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
callback?: function,
)
웹사이트의 캐시 저장소 데이터를 삭제합니다.
매개변수
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
Promise<void>
Chrome 96 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
removeCookies()
chrome.browsingData.removeCookies(
options: RemovalOptions,
callback?: function,
)
특정 기간 내에 수정된 브라우저의 쿠키 및 서버 결합 인증서를 삭제합니다.
매개변수
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
Promise<void>
Chrome 96 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
callback?: function,
)
다운로드한 파일 자체가 아닌 브라우저의 다운로드한 파일 목록을 삭제합니다.
매개변수
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
Promise<void>
Chrome 96 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
callback?: function,
)
웹사이트의 파일 시스템 데이터를 지웁니다.
매개변수
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
Promise<void>
Chrome 96 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
callback?: function,
)
브라우저에 저장된 양식 데이터를 지웁니다 (자동 완성).
매개변수
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
Promise<void>
Chrome 96 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
callback?: function,
)
브라우저의 기록을 지웁니다.
매개변수
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
Promise<void>
Chrome 96 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
callback?: function,
)
웹사이트의 IndexedDB 데이터를 지웁니다.
매개변수
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
Promise<void>
Chrome 96 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
callback?: function,
)
웹사이트의 로컬 저장소 데이터를 삭제합니다.
매개변수
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
Promise<void>
Chrome 96 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
callback?: function,
)
브라우저에 저장된 비밀번호를 삭제합니다.
매개변수
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
Promise<void>
Chrome 96 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
callback?: function,
)
플래시 지원이 중단되었습니다. 이 함수는 효과가 없습니다.
플러그인 데이터를 지웁니다.
매개변수
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
Promise<void>
Chrome 96 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
callback?: function,
)
웹사이트의 서비스 워커를 지웁니다.
매개변수
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
Promise<void>
Chrome 96 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
callback?: function,
)
웹사이트의 WebSQL 데이터를 삭제합니다.
매개변수
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
Promise<void>
Chrome 96 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
settings()
chrome.browsingData.settings(
callback?: function,
)
'인터넷 사용 기록 삭제' 설정 UI에서 현재 선택된 데이터 유형을 보고합니다. 참고: 이 API에 포함된 데이터 유형 중 일부는 설정 UI에서 사용할 수 없으며, 일부 UI 설정은 여기에 나열된 2개 이상의 데이터 유형을 제어합니다.
매개변수
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.(result: object) => void
-
결과
객체
-
dataRemovalPermitted
모든 유형이 결과에 표시되며, 삭제가 허용되는 경우 (예: 기업 정책에 의해)
true
, 허용되지 않는 경우false
의 값이 포함됩니다. -
dataToRemove
모든 유형이 결과에 표시되며, 모두 삭제하도록 선택되고 삭제가 허용된 경우
true
의 값이 있고, 그렇지 않은 경우에는false
입니다.
-
-
반환 값
-
Promise<object>
Chrome 96 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.