chrome.privacy

คำอธิบาย

ใช้ chrome.privacy API เพื่อควบคุมการใช้ฟีเจอร์ต่างๆ ใน Chrome ที่อาจส่งผลต่อความเป็นส่วนตัวของผู้ใช้ API นี้ใช้ต้นแบบ ChromeSetting ของประเภท API ในการรับและตั้งค่าการกำหนดค่าของ Chrome

สิทธิ์

privacy

ไฟล์ Manifest

คุณต้องประกาศ "ความเป็นส่วนตัว" สิทธิ์ในไฟล์ Manifest ของส่วนขยายเพื่อใช้ API สำหรับ ตัวอย่าง:

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

การใช้งาน

การอ่านค่าปัจจุบันของการตั้งค่า Chrome นั้นตรงไปตรงมา ก่อนอื่น คุณจะต้องหา พร็อพเพอร์ตี้ที่คุณสนใจ คุณจะเรียก get() ในออบเจ็กต์นั้นเพื่อเรียก ค่าปัจจุบันและระดับการควบคุมของส่วนขยาย เช่น ถ้าต้องการระบุว่าการป้อนข้อความอัตโนมัติของ Chrome หรือไม่ เปิดใช้งานอยู่ คุณต้องเขียนว่า:

chrome.privacy.services.autofillEnabled.get({}, function(details) {
  if (details.value) {
    console.log('Autofill is on!');
  } else {
    console.log('Autofill is off!');
  }
});

การเปลี่ยนค่าของการตั้งค่าจะซับซ้อนขึ้นเล็กน้อย ทั้งนี้เนื่องจากคุณต้องยืนยัน ที่ส่วนขยายจะควบคุมการตั้งค่าได้ ผู้ใช้จะไม่เห็นการเปลี่ยนแปลงใดๆ ในการตั้งค่าของตนหากคุณ ส่วนขยายจะเปิด/ปิดการตั้งค่าที่นโยบายระดับองค์กรล็อกเป็นค่าเฉพาะ (levelOfControl จะถูกตั้งค่าเป็น "not_controllable") หรือหากส่วนขยายอื่นควบคุมพารามิเตอร์ (ระบบจะตั้งค่า levelOfControl เป็น "controlled_by_other_extensions") การโทร set() จะ แต่การตั้งค่าดังกล่าวจะถูกลบล้างทันที เราขอแนะนำเนื่องจากอาจทำให้เกิดความสับสน เพื่อเตือนผู้ใช้เมื่อการตั้งค่า ที่เลือกไว้ไม่มีผลในทางปฏิบัติ

ซึ่งหมายความว่าคุณควรใช้เมธอด get() เพื่อกำหนดระดับการเข้าถึงของคุณ จากนั้น เรียกใช้ set() หากส่วนขยายของคุณควบคุมการตั้งค่าได้ (อันที่จริงแล้ว หากส่วนขยายไม่สามารถควบคุมการตั้งค่าได้ ควบคุมการตั้งค่า อาจเป็นความคิดที่ดีที่จะปิดใช้งานฟังก์ชันโดยใช้สายตาเพื่อลดการ อาการสับสน)

chrome.privacy.services.autofillEnabled.get({}, function(details) {
  if (details.levelOfControl === 'controllable_by_this_extension') {
    chrome.privacy.services.autofillEnabled.set({ value: true }, function() {
      if (chrome.runtime.lastError === undefined) {
        console.log("Hooray, it worked!");
      } else {
        console.log("Sadness!", chrome.runtime.lastError);
      }
    });
  }
});

หากคุณสนใจจะเปลี่ยนแปลงค่าของการตั้งค่า ให้เพิ่ม Listener ลงในเหตุการณ์ onChange ของการตั้งค่านั้น ระหว่าง สำหรับการใช้งานอื่นๆ การดำเนินการนี้จะช่วยให้คุณเตือนผู้ใช้ได้หากส่วนขยายที่ติดตั้งล่าสุด การควบคุมการตั้งค่า หรือหากนโยบายองค์กรลบล้างการควบคุมของคุณ หากต้องการฟังการเปลี่ยนแปลง เช่น สถานะของการป้อนข้อความอัตโนมัติ รหัสต่อไปนี้ถือว่าเพียงพอแล้ว

chrome.privacy.services.autofillEnabled.onChange.addListener(
  function (details) {
    // The new value is stored in `details.value`, the new level of control
    // in `details.levelOfControl`, and `details.incognitoSpecific` will be
    // `true` if the value is specific to Incognito mode.
  }
);

ตัวอย่าง

หากต้องการลองใช้ API นี้ ให้ติดตั้งตัวอย่าง API ความเป็นส่วนตัวจาก chrome-extension-samples ที่เก็บได้

ประเภท

IPHandlingPolicy

Chrome 48 ขึ้นไป

นโยบายการจัดการ IP ของ WebRTC

ค่าแจกแจง

"ค่าเริ่มต้น"

"default_public_and_private_interfaces"

"default_public_interface_only"

"disable_non_proxied_udp"

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

network

การตั้งค่าที่มีอิทธิพลต่อการจัดการการเชื่อมต่อเครือข่ายของ Chrome โดยทั่วไป

ประเภท

ออบเจ็กต์

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

  • networkPredictionEnabled

    types.ChromeSetting<boolean>

    หากเปิดใช้ Chrome จะพยายามเพิ่มความเร็วให้กับประสบการณ์การท่องเว็บของคุณโดยการแก้ไขรายการ DNS ล่วงหน้าและเปิดการเชื่อมต่อ TCP และ SSL ไปยังเซิร์ฟเวอร์ล่วงหน้า ค่ากำหนดนี้จะส่งผลต่อการดำเนินการที่บริการการคาดคะเนภายในของ Chrome ทำเท่านั้น โดยจะไม่ส่งผลต่อการตั้งค่าที่เริ่มต้นในหน้าเว็บหรือการเชื่อมต่อล่วงหน้า ค่าของค่ากำหนดนี้คือบูลีน โดยมีค่าเริ่มต้นเป็น true

  • webRTCIPHandlingPolicy
    Chrome 48 ขึ้นไป

    อนุญาตให้ผู้ใช้ระบุข้อจำกัดด้านประสิทธิภาพ/ความเป็นส่วนตัวของสื่อ ซึ่งส่งผลต่อวิธีกำหนดเส้นทางการรับส่งข้อมูล WebRTC และปริมาณข้อมูลที่อยู่ในเครื่องที่แสดง ค่าของค่ากำหนดนี้อยู่ในประเภท IPHandlingPolicy โดยมีค่าเริ่มต้นเป็น default

services

การตั้งค่าที่จะเปิดหรือปิดใช้ฟีเจอร์ที่ต้องใช้บริการเครือข่ายของบุคคลที่สามจาก Google และผู้ให้บริการการค้นหาเริ่มต้นของคุณ

ประเภท

ออบเจ็กต์

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

  • alternateErrorPagesEnabled

    types.ChromeSetting<boolean>

    หากเปิดใช้ Chrome จะใช้บริการเว็บเพื่อช่วยแก้ไขข้อผิดพลาดในการนำทาง ค่าของค่ากำหนดนี้คือบูลีน โดยมีค่าเริ่มต้นเป็น true

  • autofillAddressEnabled

    types.ChromeSetting<boolean>

    Chrome 70 ขึ้นไป

    หากเปิดใช้ Chrome จะเสนอให้กรอกที่อยู่และข้อมูลอื่นๆ ในแบบฟอร์มโดยอัตโนมัติ ค่าของค่ากำหนดนี้คือบูลีน โดยมีค่าเริ่มต้นเป็น true

  • autofillCreditCardEnabled

    types.ChromeSetting<boolean>

    Chrome 70 ขึ้นไป

    หากเปิดใช้ Chrome จะเสนอให้กรอกแบบฟอร์มบัตรเครดิตโดยอัตโนมัติ ค่าของค่ากำหนดนี้คือบูลีน โดยมีค่าเริ่มต้นเป็น true

  • autofillEnabled

    types.ChromeSetting<boolean>

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

    โปรดใช้ privacy.services.autofillAddressEnabled และ privacy.services.autofillCreditCardEnabled ซึ่งจะยังคงอยู่เพื่อความเข้ากันได้แบบย้อนหลังในรุ่นนี้ และจะนำออกในอนาคต

    หากเปิดใช้ Chrome จะเสนอให้กรอกแบบฟอร์มโดยอัตโนมัติ ค่าของค่ากำหนดนี้คือบูลีน โดยมีค่าเริ่มต้นเป็น true

  • passwordSavingEnabled

    types.ChromeSetting<boolean>

    หากเปิดใช้ เครื่องมือจัดการรหัสผ่านจะถามคุณว่าต้องการบันทึกรหัสผ่านไหม ค่าของค่ากำหนดนี้คือบูลีน โดยมีค่าเริ่มต้นเป็น true

  • safeBrowsingEnabled

    types.ChromeSetting<boolean>

    หากเปิดใช้ Chrome จะพยายามอย่างเต็มที่เพื่อปกป้องคุณจากฟิชชิงและมัลแวร์ ค่าของค่ากำหนดนี้คือบูลีน โดยมีค่าเริ่มต้นเป็น true

  • safeBrowsingExtendedReportingEnabled

    types.ChromeSetting<boolean>

    หากเปิดใช้ Chrome จะส่งข้อมูลเพิ่มเติมไปยัง Google เมื่อ Safe Browsing บล็อกหน้าเว็บ เช่น เนื้อหาของหน้าเว็บที่ถูกบล็อก ค่าของค่ากำหนดนี้คือบูลีน โดยมีค่าเริ่มต้นเป็น false

  • searchSuggestEnabled

    types.ChromeSetting<boolean>

    หากเปิดใช้งาน Chrome จะส่งข้อความที่คุณพิมพ์ลงในแถบอเนกประสงค์ไปยังเครื่องมือค้นหาเริ่มต้น ซึ่งให้การคาดคะเนเว็บไซต์และการค้นหาที่มีแนวโน้มว่าจะตรงกับสิ่งที่คุณพิมพ์ไว้ ค่าของค่ากำหนดนี้คือบูลีน โดยมีค่าเริ่มต้นเป็น true

  • spellingServiceEnabled

    types.ChromeSetting<boolean>

    หากเปิดใช้ไว้ Chrome จะใช้บริการเว็บเพื่อช่วยแก้ไขข้อผิดพลาดของการสะกดคำ ค่าของค่ากำหนดนี้คือบูลีน โดยมีค่าเริ่มต้นเป็น false

  • translationServiceEnabled

    types.ChromeSetting<boolean>

    หากเปิดใช้ Chrome จะเสนอการแปลหน้าเว็บที่ไม่ได้อยู่ในภาษาที่คุณอ่านได้ ค่าของค่ากำหนดนี้คือบูลีน โดยมีค่าเริ่มต้นเป็น true

websites

การตั้งค่าที่กำหนดข้อมูลที่ Chrome ใช้งานได้ในเว็บไซต์

ประเภท

ออบเจ็กต์

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

  • adMeasurementEnabled

    types.ChromeSetting<boolean>

    Chrome 111 ขึ้นไป

    หากปิดใช้ Attribution Reporting API และ Private Aggregation API จะถูกปิดใช้งาน ค่าของค่ากำหนดนี้เป็นประเภทบูลีน และค่าเริ่มต้นคือ true ส่วนขยายสามารถปิดใช้ API เหล่านี้ได้โดยตั้งค่าเป็น false หากคุณลองตั้งค่า API เหล่านี้เป็น true API จะเกิดข้อผิดพลาด

  • doNotTrackEnabled

    types.ChromeSetting<boolean>

    Chrome 65 ขึ้นไป

    หากเปิดใช้ Chrome จะส่ง "Do Not Track" (DNT: 1) ที่มีคำขอของคุณ ค่าของค่ากำหนดนี้เป็นประเภทบูลีน และค่าเริ่มต้นคือ false

  • fledgeEnabled

    types.ChromeSetting<boolean>

    Chrome 111 ขึ้นไป

    หากปิดใช้ ระบบจะปิดใช้งาน Fledge API ค่าของค่ากำหนดนี้เป็นประเภทบูลีน และค่าเริ่มต้นคือ true ส่วนขยายสามารถปิดใช้ API นี้ได้โดยการตั้งค่าเป็น false เท่านั้น หากคุณลองตั้งค่า API นี้เป็น true API จะเกิดข้อผิดพลาด

  • hyperlinkAuditingEnabled

    types.ChromeSetting<boolean>

    หากเปิดใช้ Chrome จะส่งคำสั่ง ping สำหรับการตรวจสอบเมื่อเว็บไซต์ร้องขอ (<a ping>) ค่าของค่ากำหนดนี้เป็นประเภทบูลีน และค่าเริ่มต้นคือ true

  • protectedContentEnabled

    types.ChromeSetting&lt;boolean&gt;

    ใช้ได้ใน Windows และ ChromeOS เท่านั้น: หากเปิดใช้ Chrome จะให้รหัสที่ไม่ซ้ำกันแก่ปลั๊กอินเพื่อเรียกใช้เนื้อหาที่มีการป้องกัน ค่าของค่ากำหนดนี้เป็นประเภทบูลีน และค่าเริ่มต้นคือ true

  • referrersEnabled

    types.ChromeSetting&lt;boolean&gt;

    หากเปิดใช้ Chrome จะส่งส่วนหัว referer ไปพร้อมกับคำขอของคุณ ใช่ ชื่อของค่ากำหนดนี้ไม่ตรงกับส่วนหัวที่สะกดผิด ไม่ เราจะไม่ทำการเปลี่ยนแปลงใดๆ ค่าของค่ากำหนดนี้เป็นประเภทบูลีน และค่าเริ่มต้นคือ true

  • relatedWebsiteSetsEnabled

    types.ChromeSetting&lt;boolean&gt;

    Chrome 121 ขึ้นไป

    หากปิดใช้ ระบบจะปิดใช้งานชุดเว็บไซต์ที่เกี่ยวข้อง ค่าของค่ากำหนดนี้เป็นประเภทบูลีน และค่าเริ่มต้นคือ true ส่วนขยายสามารถปิดใช้ API นี้ได้โดยการตั้งค่าเป็น false เท่านั้น หากคุณลองตั้งค่า API นี้เป็น true API จะเกิดข้อผิดพลาด

  • thirdPartyCookiesAllowed

    types.ChromeSetting&lt;boolean&gt;

    หากปิดใช้ Chrome จะบล็อกเว็บไซต์ของบุคคลที่สามไม่ให้ตั้งค่าคุกกี้ ค่าของค่ากำหนดนี้เป็นประเภทบูลีน และค่าเริ่มต้นคือ true

  • topicsEnabled

    types.ChromeSetting&lt;boolean&gt;

    Chrome 111 ขึ้นไป

    หากปิดใช้ ระบบจะปิดใช้งาน Topics API ค่าของค่ากำหนดนี้เป็นประเภทบูลีน และค่าเริ่มต้นคือ true ส่วนขยายสามารถปิดใช้ API นี้ได้โดยการตั้งค่าเป็น false เท่านั้น หากคุณลองตั้งค่า API นี้เป็น true API จะเกิดข้อผิดพลาด