chrome.browsingData

설명

chrome.browsingData API를 사용하여 사용자의 로컬 프로필에서 탐색 데이터를 삭제합니다.

권한

browsingData

매니페스트

이 API를 사용하려면 확장 프로그램 매니페스트에서 'browsingData' 권한을 선언해야 합니다.

{   "name": "My extension",   ...   "permissions": [     "browsingData",   ],   ... } 

사용

이 API의 가장 간단한 사용 사례는 사용자의 탐색 데이터를 삭제하는 시간 기반 메커니즘입니다. 코드에서는 사용자 탐색 데이터를 삭제해야 하는 과거 날짜를 나타내는 타임스탬프를 제공해야 합니다. 이 타임스탬프는 Unix 에포크 이후의 밀리초 수로 형식이 지정됩니다 (JavaScript Date 객체에서 getTime 메서드를 통해 가져올 수 있음).

예를 들어 지난주의 모든 사용자의 탐색 데이터를 삭제하려면 다음과 같이 코드를 작성할 수 있습니다.

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.originsRemovalOptions.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 카테고리에서 삭제됩니다. 이러한 출처의 데이터 삭제를 트리거할 때는 주의하세요. 사용자의 게임 데이터가 취소할 수 없이 삭제되므로 사용자에게 어떤 데이터가 삭제되는지 알려야 합니다. 필요 이상으로 작은 돼지 집을 넘어뜨리고 싶어 하는 사람은 없습니다.
  • extensionchrome-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 example을 설치하세요.

유형

DataTypeSet

데이터 유형 집합입니다. 누락된 데이터 유형은 false로 해석됩니다.

속성

  • appcache

    불리언 선택사항

    웹사이트의 appcache입니다.

  • 캐시

    불리언 선택사항

    브라우저의 캐시

  • cacheStorage

    불리언 선택사항

    Chrome 72 이상

    캐시 저장소

  • 쿠키

    불리언 선택사항

    브라우저의 쿠키입니다.

  • 다운로드

    불리언 선택사항

    브라우저의 다운로드 목록입니다.

  • fileSystems

    불리언 선택사항

    웹사이트의 파일 시스템입니다.

  • formData

    불리언 선택사항

    브라우저에 저장된 양식 데이터입니다.

  • 기록

    불리언 선택사항

    브라우저의 기록입니다.

  • indexedDB

    불리언 선택사항

    웹사이트의 IndexedDB 데이터입니다.

  • localStorage

    불리언 선택사항

    웹사이트의 로컬 스토리지 데이터입니다.

  • 비밀번호

    불리언 선택사항

    저장된 비밀번호

  • pluginData

    불리언 선택사항

    Chrome 88부터 지원 중단됨

    Flash 지원이 삭제되었습니다. 이 데이터 유형은 무시됩니다.

    플러그인의 데이터입니다.

  • serverBoundCertificates

    불리언 선택사항

    Chrome 76부터 지원 중단됨

    서버 바운드 인증서 지원이 삭제되었습니다. 이 데이터 유형은 무시됩니다.

    서버 바운드 인증서입니다.

  • serviceWorkers

    불리언 선택사항

    서비스 워커

  • webSQL

    불리언 선택사항

    웹사이트의 WebSQL 데이터입니다.

RemovalOptions

삭제할 데이터를 정확하게 결정하는 옵션입니다.

속성

  • excludeOrigins

    string[] 선택사항

    Chrome 74 이상

    이 목록에 있는 출처의 데이터는 삭제에서 제외됩니다. origins와 함께 사용할 수 없습니다. 쿠키, 스토리지, 캐시에만 지원됩니다. 쿠키는 등록 가능한 전체 도메인에서 제외됩니다.

  • originTypes

    객체 선택사항

    속성이 삭제해야 하는 출처 유형을 지정하는 객체입니다. 이 객체를 지정하지 않으면 기본적으로 '보호되지 않은' 출처만 삭제됩니다. 'protectedWeb' 또는 'extensions'를 추가하기 전에 애플리케이션 데이터를 삭제해도 되는지 정말로 확인하세요.

    • 확장 프로그램

      불리언 선택사항

      사용자가 설치한 확장 프로그램 및 패키지 애플리케이션입니다 (정말 조심해야 함).

    • protectedWeb

      불리언 선택사항

      호스팅된 애플리케이션으로 설치된 웹사이트 (주의).

    • unprotectedWeb

      불리언 선택사항

      일반 웹사이트

  • origins

    [문자열, ...문자열[]] 선택사항

    Chrome 74 이상

    이 목록에 있는 출처의 데이터만 삭제됩니다. 쿠키, 스토리지, 캐시에만 지원됩니다. 등록 가능한 전체 도메인의 쿠키가 삭제됩니다.

  • 이후

    번호 선택사항

    이 날짜 이후에 누적된 데이터를 삭제합니다. 이 날짜는 에포크 이후 밀리초로 표시되며 JavaScript Date 객체의 getTime 메서드를 통해 액세스할 수 있습니다. 값이 없으면 기본값은 0입니다 (모든 탐색 데이터가 삭제됨).

메서드

remove()

Promise
chrome.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
  callback?: function,
)
: Promise<void>

사용자 프로필에 저장된 다양한 유형의 인터넷 사용 기록을 삭제합니다.

매개변수

  • dataToRemove

    삭제할 데이터 유형의 집합입니다.

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • Promise<void>

    Chrome 96 이상

    Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

removeAppcache()

Promise
chrome.browsingData.removeAppcache(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

웹사이트의 appcache 데이터를 삭제합니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • Promise<void>

    Chrome 96 이상

    Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

removeCache()

Promise
chrome.browsingData.removeCache(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

브라우저의 캐시를 삭제합니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • Promise<void>

    Chrome 96 이상

    Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

removeCacheStorage()

Promise Chrome 72 이상
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

웹사이트의 캐시 저장소 데이터를 삭제합니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • Promise<void>

    Chrome 96 이상

    Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

removeCookies()

Promise
chrome.browsingData.removeCookies(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

특정 기간 내에 수정된 브라우저의 쿠키와 서버 바운드 인증서를 삭제합니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • Promise<void>

    Chrome 96 이상

    Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

removeDownloads()

Promise
chrome.browsingData.removeDownloads(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

다운로드된 파일 자체는 아니고 브라우저의 다운로드된 파일 목록을 지웁니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • Promise<void>

    Chrome 96 이상

    Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

removeFileSystems()

Promise
chrome.browsingData.removeFileSystems(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

웹사이트의 파일 시스템 데이터를 지웁니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • Promise<void>

    Chrome 96 이상

    Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

removeFormData()

Promise
chrome.browsingData.removeFormData(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

브라우저에 저장된 양식 데이터 (자동 완성)를 삭제합니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • Promise<void>

    Chrome 96 이상

    Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

removeHistory()

Promise
chrome.browsingData.removeHistory(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

브라우저의 기록을 삭제합니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • Promise<void>

    Chrome 96 이상

    Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

removeIndexedDB()

Promise
chrome.browsingData.removeIndexedDB(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

웹사이트의 IndexedDB 데이터를 삭제합니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • Promise<void>

    Chrome 96 이상

    Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

removeLocalStorage()

Promise
chrome.browsingData.removeLocalStorage(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

웹사이트의 로컬 스토리지 데이터를 삭제합니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • Promise<void>

    Chrome 96 이상

    Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

removePasswords()

Promise
chrome.browsingData.removePasswords(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

브라우저에 저장된 비밀번호를 삭제합니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • Promise<void>

    Chrome 96 이상

    Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

removePluginData()

Promise Chrome 88부터 지원 중단됨
chrome.browsingData.removePluginData(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Flash 지원이 삭제되었습니다. 이 함수는 아무런 영향을 미치지 않습니다.

플러그인의 데이터를 삭제합니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • Promise<void>

    Chrome 96 이상

    Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

removeServiceWorkers()

Promise Chrome 72 이상
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

웹사이트의 서비스 워커를 지웁니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • Promise<void>

    Chrome 96 이상

    Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

removeWebSQL()

Promise
chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

웹사이트의 WebSQL 데이터를 삭제합니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    () => void

반환 값

  • Promise<void>

    Chrome 96 이상

    Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

settings()

Promise
chrome.browsingData.settings(
  callback?: function,
)
: Promise<object>

'인터넷 사용 기록 삭제' 설정 UI에서 현재 선택된 데이터 유형을 보고합니다. 참고: 이 API에 포함된 데이터 유형 중 일부는 설정 UI에서 사용할 수 없으며 일부 UI 설정은 여기에 나열된 데이터 유형을 두 개 이상 관리합니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (result: object) => void

    • 결과

      객체

      • dataRemovalPermitted

        모든 유형이 결과에 표시되며, 삭제가 허용되는 경우 (예: 엔터프라이즈 정책에 따라) 값은 true이고 허용되지 않는 경우 false입니다.

      • dataToRemove

        삭제하도록 선택되고 삭제가 허용된 경우 true 값이 있는 모든 유형이 결과에 표시되고, 그렇지 않은 경우 false 값이 표시됩니다.

반환 값

  • Promise<object>

    Chrome 96 이상

    Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.