chrome.types

คำอธิบาย

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

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

  • ล้าง

    เป็นโมฆะ

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

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

    (details: object) => {...}

    • รายละเอียด

      ออบเจ็กต์

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

      • ขอบเขต

        ChromeSettingScope ไม่บังคับ

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

    • returns

      Promise<void>

      Chrome 96 ขึ้นไป
  • รับ

    เป็นโมฆะ

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

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

    (details: object) => {...}

    • รายละเอียด

      ออบเจ็กต์

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

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

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

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

    • returns

      Promise<object>

      Chrome 96 ขึ้นไป
  • ตั้งค่า

    เป็นโมฆะ

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

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

    (details: object) => {...}

    • รายละเอียด

      ออบเจ็กต์

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

      • ขอบเขต

        ChromeSettingScope ไม่บังคับ

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

      • value

        T

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

    • returns

      Promise<void>

      Chrome 96 ขึ้นไป

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"