คำอธิบาย
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 จัดการการตั้งค่าในเลเยอร์ต่างๆ รายการต่อไปนี้อธิบายเลเยอร์ที่อาจ มีผลต่อการตั้งค่าที่มีประสิทธิภาพ โดยเรียงตามลำดับความสำคัญที่เพิ่มขึ้น
- การตั้งค่าระบบที่ระบบปฏิบัติการมีให้
- พารามิเตอร์บรรทัดคำสั่ง
- การตั้งค่าที่ส่วนขยายระบุ
- นโยบาย
ดังที่รายการระบุไว้ นโยบายอาจมีผลเหนือกว่าการเปลี่ยนแปลงใดๆ ที่คุณระบุด้วยส่วนขยาย คุณ
ใช้ฟังก์ชัน 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
ขอบเขตของ ChromeSetting หนึ่งใน
regular
: การตั้งค่าสำหรับโปรไฟล์ปกติ (ซึ่งโปรไฟล์ไม่ระบุตัวตนจะรับช่วงมาหากไม่ได้ลบล้างที่อื่น)regular\_only
: การตั้งค่าสำหรับโปรไฟล์ปกติเท่านั้น (โปรไฟล์ที่ไม่ระบุตัวตนจะไม่รับค่านี้)incognito\_persistent
: การตั้งค่าสำหรับโปรไฟล์ไม่ระบุตัวตนที่ยังคงอยู่หลังจากการรีสตาร์ทเบราว์เซอร์ (ลบล้างค่ากำหนดปกติ)incognito\_session\_only
: การตั้งค่าสำหรับโปรไฟล์ไม่ระบุตัวตนซึ่งตั้งค่าได้เฉพาะในระหว่างเซสชันไม่ระบุตัวตนและจะถูกลบเมื่อเซสชันไม่ระบุตัวตนสิ้นสุดลง (ลบล้างค่ากำหนดปกติและ incognito_persistent)
ค่าแจกแจง
"regular"
"regular_only"
"incognito_persistent"
"incognito_session_only"
LevelOfControl
หนึ่งใน
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"