chrome.browsingData

คำอธิบาย

ใช้ chrome.browsingData API เพื่อนำข้อมูลการท่องเว็บออกจากโปรไฟล์ภายในเครื่องของผู้ใช้

สิทธิ์

browsingData

คุณต้องประกาศสิทธิ์ "browsingData" ในไฟล์ Manifest ของส่วนขยายเพื่อใช้ API นี้

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

แนวคิดและการใช้งาน

กรณีการใช้งานที่ง่ายที่สุดสำหรับ API นี้คือกลไกตามเวลาสำหรับการล้างข้อมูลการท่องเว็บของผู้ใช้ โค้ดควรระบุการประทับเวลาที่บ่งบอกวันที่ในอดีตหลังจากที่ควรนำข้อมูลการท่องเว็บของผู้ใช้ออก การประทับเวลานี้จัดรูปแบบเป็นจำนวนมิลลิวินาทีตั้งแต่ ยุค Unix (ซึ่งดึงข้อมูลจากออบเจ็กต์ Date JavaScript ได้โดยใช้วิธี 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.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); 

ประเภทต้นทาง

การเพิ่มพร็อพเพอร์ตี้ originTypes ลงในออบเจ็กต์ตัวเลือก API จะช่วยให้คุณระบุประเภทต้นทางที่ควรได้รับผลกระทบได้ ต้นทางแบ่งออกเป็น 3 หมวดหมู่ ดังนี้

  • 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 นี้ ให้ติดตั้งตัวอย่าง browsingData API จากที่เก็บ chrome-extension-samples

ประเภท

DataTypeSet

ชุดประเภทข้อมูล ระบบจะตีความประเภทข้อมูลที่ขาดหายไปเป็น false

พร็อพเพอร์ตี้

  • appcache

    บูลีน ไม่บังคับ

    Appcache ของเว็บไซต์

  • แคช

    บูลีน ไม่บังคับ

    แคชของเบราว์เซอร์

  • cacheStorage

    บูลีน ไม่บังคับ

    Chrome 72 ขึ้นไป

    พื้นที่เก็บข้อมูลแคช

  • คุกกี้

    บูลีน ไม่บังคับ

    คุกกี้ของเบราว์เซอร์

  • ดาวน์โหลด

    บูลีน ไม่บังคับ

    รายการดาวน์โหลดของเบราว์เซอร์

  • fileSystems

    บูลีน ไม่บังคับ

    ระบบไฟล์ของเว็บไซต์

  • formData

    บูลีน ไม่บังคับ

    ข้อมูลแบบฟอร์มที่เบราว์เซอร์จัดเก็บไว้

  • ประวัติ

    บูลีน ไม่บังคับ

    ประวัติการเข้าชมของเบราว์เซอร์

  • indexedDB

    บูลีน ไม่บังคับ

    ข้อมูล IndexedDB ของเว็บไซต์

  • localStorage

    บูลีน ไม่บังคับ

    ข้อมูลพื้นที่เก็บข้อมูลในเครื่องของเว็บไซต์

  • รหัสผ่าน

    บูลีน ไม่บังคับ

    รหัสผ่านที่จัดเก็บไว้

  • pluginData

    บูลีน ไม่บังคับ

    เลิกใช้งานตั้งแต่ Chrome 88

    ระบบนำการสนับสนุน Flash ออกแล้ว ระบบจะไม่สนใจข้อมูลประเภทนี้

    ข้อมูลของปลั๊กอิน

  • serverBoundCertificates

    บูลีน ไม่บังคับ

    เลิกใช้งานตั้งแต่ Chrome 76

    ระบบได้นำการรองรับใบรับรองที่ผูกกับเซิร์ฟเวอร์ออกแล้ว ระบบจะไม่สนใจข้อมูลประเภทนี้

    ใบรับรองที่เชื่อมโยงกับเซิร์ฟเวอร์

  • serviceWorkers

    บูลีน ไม่บังคับ

    Service Worker

  • webSQL

    บูลีน ไม่บังคับ

    ข้อมูล WebSQL ของเว็บไซต์

RemovalOptions

ตัวเลือกที่กำหนดข้อมูลที่จะนำออกอย่างชัดเจน

พร็อพเพอร์ตี้

  • excludeOrigins

    string[] ไม่บังคับ

    Chrome 74 ขึ้นไป

    หากมีอยู่ ระบบจะไม่ลบข้อมูลสำหรับต้นทางในรายการนี้ ใช้ร่วมกับ origins ไม่ได้ รองรับเฉพาะคุกกี้ พื้นที่เก็บข้อมูล และแคช ระบบจะยกเว้นคุกกี้สำหรับทั้งโดเมนที่จดทะเบียนได้

  • originTypes

    object ไม่บังคับ

    ออบเจ็กต์ที่มีพร็อพเพอร์ตี้ที่ระบุประเภทต้นทางที่ควรล้าง หากไม่ได้ระบุออบเจ็กต์นี้ ระบบจะล้างเฉพาะต้นทางที่ "ไม่มีการป้องกัน" เป็นค่าเริ่มต้น โปรดตรวจสอบว่าคุณต้องการนำข้อมูลแอปพลิเคชันออกจริงๆ ก่อนที่จะเพิ่ม "protectedWeb" หรือ "extensions"

    • ส่วนขยาย

      บูลีน ไม่บังคับ

      ส่วนขยายและแอปพลิเคชันที่แพ็กเกจไว้ซึ่งผู้ใช้ติดตั้ง (โปรดระมัดระวังเป็นอย่างยิ่ง)

    • protectedWeb

      บูลีน ไม่บังคับ

      เว็บไซต์ที่ติดตั้งเป็นแอปพลิเคชันที่โฮสต์ (โปรดระมัดระวัง)

    • unprotectedWeb

      บูลีน ไม่บังคับ

      เว็บไซต์ปกติ

  • ต้นกำเนิด

    [string, ...string[]] ไม่บังคับ

    Chrome 74 ขึ้นไป

    เมื่อมีอยู่ ระบบจะลบเฉพาะข้อมูลสำหรับต้นทางในรายการนี้ รองรับเฉพาะคุกกี้ พื้นที่เก็บข้อมูล และแคช ระบบจะล้างคุกกี้สำหรับโดเมนที่จดทะเบียนได้ทั้งหมด

  • ตั้งแต่

    หมายเลข ไม่บังคับ

    นำข้อมูลที่สะสมในหรือหลังวันที่นี้ออก ซึ่งแสดงเป็นมิลลิวินาทีตั้งแต่ Epoch (เข้าถึงได้ผ่านเมธอด getTime ของออบเจ็กต์ Date JavaScript) หากไม่มี ระบบจะใช้ค่าเริ่มต้นเป็น 0 (ซึ่งจะนำข้อมูลการท่องเว็บทั้งหมดออก)

เมธอด

remove()

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

ล้างข้อมูลการท่องเว็บประเภทต่างๆ ที่จัดเก็บไว้ในโปรไฟล์ของผู้ใช้

พารามิเตอร์

  • ตัวเลือก
  • dataToRemove

    ชุดประเภทข้อมูลที่จะนำออก

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

removeAppcache()

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

ล้างข้อมูล AppCache ของเว็บไซต์

พารามิเตอร์

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

removeCache()

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

ล้างแคชของเบราว์เซอร์

พารามิเตอร์

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

removeCacheStorage()

Chrome 72 ขึ้นไป
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
)
: Promise<void>

ล้างข้อมูลพื้นที่เก็บข้อมูลแคชของเว็บไซต์

พารามิเตอร์

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

removeCookies()

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

ล้างคุกกี้และใบรับรองที่เชื่อมโยงกับเซิร์ฟเวอร์ของเบราว์เซอร์ซึ่งมีการแก้ไขภายในระยะเวลาที่กำหนด

พารามิเตอร์

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

removeDownloads()

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

ล้างรายการไฟล์ที่ดาวน์โหลดของเบราว์เซอร์ (ไม่ใช่ไฟล์ที่ดาวน์โหลดเอง)

พารามิเตอร์

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

removeFileSystems()

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

ล้างข้อมูลระบบไฟล์ของเว็บไซต์

พารามิเตอร์

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

removeFormData()

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

ล้างข้อมูลแบบฟอร์มที่จัดเก็บไว้ของเบราว์เซอร์ (ป้อนข้อความอัตโนมัติ)

พารามิเตอร์

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

removeHistory()

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

ล้างประวัติของเบราว์เซอร์

พารามิเตอร์

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

removeIndexedDB()

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

ล้างข้อมูล IndexedDB ของเว็บไซต์

พารามิเตอร์

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

removeLocalStorage()

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

ล้างข้อมูลพื้นที่เก็บข้อมูลในเครื่องของเว็บไซต์

พารามิเตอร์

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

removePasswords()

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

ล้างรหัสผ่านที่จัดเก็บไว้ของเบราว์เซอร์

พารามิเตอร์

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

removePluginData()

เลิกใช้งานตั้งแต่ Chrome 88
chrome.browsingData.removePluginData(
  options: RemovalOptions,
)
: Promise<void>

ระบบนำการสนับสนุน Flash ออกแล้ว ฟังก์ชันนี้ไม่มีผล

ล้างข้อมูลของปลั๊กอิน

พารามิเตอร์

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

removeServiceWorkers()

Chrome 72 ขึ้นไป
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
)
: Promise<void>

ล้าง Service Worker ของเว็บไซต์

พารามิเตอร์

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

removeWebSQL()

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

ล้างข้อมูล WebSQL ของเว็บไซต์

พารามิเตอร์

การคืนสินค้า

  • Promise<void>

    Chrome 96 ขึ้นไป

settings()

chrome.browsingData.settings(): Promise<object>

รายงานประเภทข้อมูลที่เลือกอยู่ใน UI การตั้งค่า "ล้างข้อมูลการท่องเว็บ" ในขณะนี้ หมายเหตุ: ข้อมูลบางประเภทที่รวมอยู่ใน API นี้จะไม่มีใน UI ของการตั้งค่า และการตั้งค่า UI บางอย่างจะควบคุมข้อมูลมากกว่า 1 ประเภทที่แสดงไว้ที่นี่

การคืนสินค้า

  • Promise<object>

    Chrome 96 ขึ้นไป