chrome.browsingData (original) (raw)

설명

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

권한

browsingData

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

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

개념 및 사용

이 API의 가장 간단한 사용 사례는 사용자의 탐색 데이터를 삭제하는 시간 기반 메커니즘입니다. 코드에서는 사용자 탐색 데이터를 삭제해야 하는 과거 날짜를 나타내는 타임스탬프를 제공해야 합니다. 이 타임스탬프는 Unix epoch 이후의 밀리초 수로 형식이 지정됩니다 (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 속성을 추가하면 영향을 받아야 하는 출처 유형을 지정할 수 있습니다. 출처는 다음 세 가지 카테고리로 나뉩니다.

다음과 같이 보호된 웹사이트의 데이터만 삭제하도록 이전 예시를 조정할 수 있습니다.

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로 해석됩니다.

속성

RemovalOptions

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

속성

메서드

remove()

chrome.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
): Promise

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

반환 값

removeAppcache()

chrome.browsingData.removeAppcache(
  options: RemovalOptions,
): Promise

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

매개변수

반환 값

removeCache()

chrome.browsingData.removeCache(
  options: RemovalOptions,
): Promise

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

매개변수

반환 값

removeCacheStorage()

chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
): Promise

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

매개변수

반환 값

removeCookies()

chrome.browsingData.removeCookies(
  options: RemovalOptions,
): Promise

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

매개변수

반환 값

removeDownloads()

chrome.browsingData.removeDownloads(
  options: RemovalOptions,
): Promise

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

매개변수

반환 값

removeFileSystems()

chrome.browsingData.removeFileSystems(
  options: RemovalOptions,
): Promise

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

매개변수

반환 값

removeFormData()

chrome.browsingData.removeFormData(
  options: RemovalOptions,
): Promise

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

매개변수

반환 값

removeHistory()

chrome.browsingData.removeHistory(
  options: RemovalOptions,
): Promise

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

매개변수

반환 값

removeIndexedDB()

chrome.browsingData.removeIndexedDB(
  options: RemovalOptions,
): Promise

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

매개변수

반환 값

removeLocalStorage()

chrome.browsingData.removeLocalStorage(
  options: RemovalOptions,
): Promise

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

매개변수

반환 값

removePasswords()

chrome.browsingData.removePasswords(
  options: RemovalOptions,
): Promise

확장 프로그램을 통한 비밀번호 삭제 지원이 삭제되었습니다. 이 함수는 아무런 영향을 미치지 않습니다.

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

매개변수

반환 값

removePluginData()

chrome.browsingData.removePluginData(
  options: RemovalOptions,
): Promise

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

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

매개변수

반환 값

removeServiceWorkers()

chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
): Promise

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

매개변수

반환 값

removeWebSQL()

chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
): Promise

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

매개변수

반환 값

settings()

chrome.browsingData.settings(): Promise

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

반환 값