chrome.types

refresh date: 2026-09-25 robots: noindex

คำอธิบาย

chrome.types API มีการประกาศประเภทสำหรับ Chrome

การตั้งค่า Chrome

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

ขอบเขตและวงจร

Chrome แยกความแตกต่างระหว่างขอบเขตการตั้งค่าเบราว์เซอร์ 3 แบบ ดังนี้

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

ลำดับความสำคัญ

Chrome จะจัดการการตั้งค่าในเลเยอร์ต่างๆ รายการต่อไปนี้อธิบายถึงเลเยอร์ที่อาจมีผลต่อการตั้งค่าที่มีผลบังคับใช้ โดยเรียงตามลำดับความสำคัญจากน้อยไปมาก

  1. การตั้งค่าระบบที่ระบบปฏิบัติการมีให้
  2. พารามิเตอร์บรรทัดคำสั่ง
  3. การตั้งค่าที่ได้จากส่วนขยาย
  4. นโยบาย

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

ตามที่ได้กล่าวไว้ข้างต้น Chrome อนุญาตให้ใช้การตั้งค่าที่แตกต่างกันสำหรับหน้าต่างปกติและหน้าต่างที่ไม่ระบุตัวตน ตัวอย่างต่อไปนี้แสดงลักษณะการทำงานดังกล่าว สมมติว่าไม่มีนโยบายใดลบล้างการตั้งค่า และส่วนขยายสามารถตั้งค่าสำหรับหน้าต่างปกติ (R) และการตั้งค่าสำหรับหน้าต่างที่ไม่ระบุตัวตน (I) ได้

  • หากตั้งค่าเฉพาะ (R) การตั้งค่าเหล่านี้จะมีผลกับทั้งหน้าต่างปกติและหน้าต่างที่ไม่ระบุตัวตน
  • หากตั้งค่าเฉพาะ (I) การตั้งค่าเหล่านี้จะมีผลกับหน้าต่างที่ไม่ระบุตัวตนเท่านั้น หน้าต่างปกติจะใช้การตั้งค่าที่กำหนดโดยเลเยอร์ที่ต่ำกว่า (ตัวเลือกบรรทัดคำสั่งและการตั้งค่าระบบ)
  • หากตั้งค่าทั้ง (R) และ (I) ระบบจะใช้การตั้งค่าที่เกี่ยวข้องสำหรับหน้าต่างปกติและหน้าต่างที่ไม่ระบุตัวตน

หากส่วนขยาย 2 รายการขึ้นไปต้องการตั้งค่าเดียวกันเป็นค่าที่ต่างกัน ส่วนขยายที่ติดตั้งล่าสุดจะมีลำดับความสำคัญเหนือกว่าส่วนขยายอื่นๆ หากส่วนขยายที่ติดตั้งล่าสุดตั้งค่าเฉพาะ (I) ส่วนขยายที่ติดตั้งก่อนหน้านี้จะกำหนดการตั้งค่าของหน้าต่างปกติได้

ค่าที่มีผลของการตั้งค่าคือค่าที่ได้จากการพิจารณากฎลำดับความสำคัญ Chrome จะใช้คีย์นี้

ประเภท

ChromeSetting

อินเทอร์เฟซที่อนุญาตให้เข้าถึงการตั้งค่าเบราว์เซอร์ Chrome ดูตัวอย่างได้ที่ accessibilityFeatures

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

  • onChange

    Event<functionvoidvoid>

    เริ่มทำงานหลังจากเปลี่ยนการตั้งค่า

    ฟังก์ชัน onChange.addListener จะมีลักษณะดังนี้

    (callback: function) => {...}

    • callback

      ฟังก์ชัน

      พารามิเตอร์ callback จะมีลักษณะดังนี้

      (details: object) => void

      • รายละเอียด

        ออบเจ็กต์

        • incognitoSpecific

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

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

        • levelOfControl

          ระดับการควบคุมของการตั้งค่า

        • value

          T

          ค่าของการตั้งค่าหลังการเปลี่ยนแปลง

  • ล้าง

    void

    Promise

    ล้างการตั้งค่าและคืนค่าเริ่มต้น

    ฟังก์ชัน clear จะมีลักษณะดังนี้

    (details: object, callback?: function) => {...}

    • รายละเอียด

      ออบเจ็กต์

      การตั้งค่าที่ต้องการล้าง

      • ขอบเขต

        ChromeSettingScope ไม่บังคับ

        ตำแหน่งที่จะล้างการตั้งค่า (ค่าเริ่มต้น: ปกติ)

    • callback

      function ไม่บังคับ

      พารามิเตอร์ callback จะมีลักษณะดังนี้

      () => void

    • returns

      Promise<void>

      Chrome 96 ขึ้นไป

      เรียกใช้เมื่อการดำเนินการล้างเสร็จสมบูรณ์

      ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback

  • รับ

    void

    Promise

    รับค่าของการตั้งค่า

    ฟังก์ชัน get จะมีลักษณะดังนี้

    (details: object, callback?: function) => {...}

    • รายละเอียด

      ออบเจ็กต์

      การตั้งค่าที่ควรพิจารณา

      • ไม่ระบุตัวตน

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

        เลือกว่าจะแสดงผลค่าที่ใช้กับเซสชันไม่ระบุตัวตนหรือไม่ (ค่าเริ่มต้นคือเท็จ)

    • callback

      function ไม่บังคับ

      พารามิเตอร์ callback จะมีลักษณะดังนี้

      (details: object) => void

      • รายละเอียด

        ออบเจ็กต์

        รายละเอียดของค่าที่มีผลในปัจจุบัน

        • incognitoSpecific

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

          ค่าที่มีผลเป็นค่าเฉพาะสำหรับเซสชันไม่ระบุตัวตนหรือไม่ พร็อพเพอร์ตี้นี้จะปรากฏก็ต่อเมื่อพร็อพเพอร์ตี้ incognito ในพารามิเตอร์ details ของ get() เป็นจริง

        • levelOfControl

          ระดับการควบคุมของการตั้งค่า

        • value

          T

          ค่าของการตั้งค่า

    • returns

      Promise<object>

      Chrome 96 ขึ้นไป

      ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback

  • ตั้งค่า

    void

    Promise

    ตั้งค่าของการตั้งค่า

    ฟังก์ชัน set จะมีลักษณะดังนี้

    (details: object, callback?: function) => {...}

    • รายละเอียด

      ออบเจ็กต์

      การตั้งค่าที่ต้องการเปลี่ยนแปลง

      • ขอบเขต

        ChromeSettingScope ไม่บังคับ

        ตำแหน่งที่จะตั้งค่า (ค่าเริ่มต้น: ปกติ)

      • value

        T

        ค่าของการตั้งค่า โปรดทราบว่าการตั้งค่าแต่ละรายการมีประเภทค่าที่เฉพาะเจาะจง ซึ่งอธิบายไว้พร้อมกับการตั้งค่า ส่วนขยายไม่ควรตั้งค่าเป็นประเภทอื่น

    • callback

      function ไม่บังคับ

      พารามิเตอร์ callback จะมีลักษณะดังนี้

      () => void

    • returns

      Promise<void>

      Chrome 96 ขึ้นไป

      เรียกใช้เมื่อการดำเนินการชุดเสร็จสมบูรณ์

      ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback

ChromeSettingScope

Chrome 44 ขึ้นไป

ขอบเขตของ ChromeSetting หนึ่งใน

  • regular: การตั้งค่าสำหรับโปรไฟล์ปกติ (ซึ่งโปรไฟล์ที่ไม่ระบุตัวตนจะรับค่ามาหากไม่มีการลบล้างที่อื่น)
  • regular\_only: การตั้งค่าสำหรับโปรไฟล์ปกติเท่านั้น (โปรไฟล์ที่ไม่ระบุตัวตนจะไม่รับค่านี้)
  • incognito\_persistent: การตั้งค่าสำหรับโปรไฟล์ที่ไม่ระบุตัวตนซึ่งจะยังคงอยู่แม้จะรีสตาร์ทเบราว์เซอร์ (ลบล้างค่ากำหนดปกติ)
  • incognito\_session\_only: การตั้งค่าสำหรับโปรไฟล์ไม่ระบุตัวตนที่ตั้งค่าได้เฉพาะในระหว่างเซสชันไม่ระบุตัวตน และจะถูกลบเมื่อเซสชันไม่ระบุตัวตนสิ้นสุดลง (ลบล้างค่ากำหนดปกติและ incognito_persistent)

ค่าแจกแจง

"regular"

"regular_only"

"incognito_persistent"

"incognito_session_only"

LevelOfControl

Chrome 44 ขึ้นไป

หนึ่งใน

  • not\_controllable: ควบคุมโดยส่วนขยายใดๆ ไม่ได้
  • controlled\_by\_other\_extensions: ควบคุมโดยส่วนขยายที่มีลำดับความสำคัญสูงกว่า
  • controllable\_by\_this\_extension: ควบคุมได้โดยส่วนขยายนี้
  • controlled\_by\_this\_extension: ควบคุมโดยส่วนขยายนี้

ค่าแจกแจง

"not_controllable"

"controlled_by_other_extensions"

"controllable_by_this_extension"

"controlled_by_this_extension"