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

    เหตุการณ์<functionvoid>

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

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

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

    • Callback

      ฟังก์ชัน

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

      (details: object) => void

      • รายละเอียด

        ออบเจ็กต์

        • incognitoSpecific

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

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

        • levelOfControl

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

        • value

          T

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

  • ล้าง

    เป็นโมฆะ

    สัญญา

    ล้างการตั้งค่าและเรียกคืนค่าเริ่มต้นทั้งหมด

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

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

    • รายละเอียด

      ออบเจ็กต์

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

      • ขอบเขต

        ChromeSettingScope ไม่บังคับ

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

    • Callback

      ไม่บังคับ

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

      () => void

    • returns

      คำมั่นสัญญา<โมฆะ>

      Chrome 96 ขึ้นไป

      รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback

  • รับ

    เป็นโมฆะ

    สัญญา

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

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

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

    • รายละเอียด

      ออบเจ็กต์

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

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

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

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

    • Callback

      ไม่บังคับ

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

      (details: object) => void

      • รายละเอียด

        ออบเจ็กต์

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

        • incognitoSpecific

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

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

        • levelOfControl

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

        • value

          T

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

    • returns

      Promise&lt;object&gt;

      Chrome 96 ขึ้นไป

      รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback

  • ตั้งค่า

    เป็นโมฆะ

    สัญญา

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

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

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

    • รายละเอียด

      ออบเจ็กต์

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

      • ขอบเขต

        ChromeSettingScope ไม่บังคับ

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

      • value

        T

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

    • Callback

      ไม่บังคับ

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

      () => void

    • returns

      คำมั่นสัญญา<โมฆะ>

      Chrome 96 ขึ้นไป

      รองรับคำสัญญาในไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback สำหรับ ความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ จะมีการแก้ไขด้วยประเภทเดียวกันที่ส่งไปยัง Callback

ChromeSettingScope

Chrome 44 ขึ้นไป

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

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

ค่าแจกแจง

"regular"

"regular_only"

"โหมดไม่ระบุตัวตน_persistent"

"โหมดไม่ระบุตัวตน_session_only"

LevelOfControl

Chrome 44 ขึ้นไป

หนึ่งใน

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

ค่าแจกแจง

"not_controllable"

&quot;controlled_by_other_extensions&quot;

&quot;controllable_by_this_extension&quot;

&quot;controlled_by_this_extension&quot;