chrome.extensionTypes

คำอธิบาย

chrome.extensionTypes API มีการประกาศประเภทสำหรับส่วนขยาย Chrome

ประเภท

ColorArray

Chrome 139 ขึ้นไป

ประเภท

[number, number, number, number]

CSSOrigin

Chrome 66 ขึ้นไป

แหล่งที่มาของ CSS ที่แทรก

ค่าแจกแจง

"author"

"user"

DeleteInjectionDetails

Chrome 87 ขึ้นไป

รายละเอียดของ CSS ที่จะนำออก ต้องตั้งค่าพร็อพเพอร์ตี้โค้ดหรือไฟล์ แต่จะตั้งค่าทั้ง 2 อย่างพร้อมกันไม่ได้

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

  • allFrames

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

    หาก allFrames เป็น true แสดงว่าควรนำ CSS ออกจากเฟรมทั้งหมดของหน้าปัจจุบัน โดยค่าเริ่มต้นจะเป็น false และจะนำออกจากเฟรมด้านบนเท่านั้น หากตั้งค่า true และ frameId ไว้ ระบบจะนำโค้ดออกจากเฟรมที่เลือกและเฟรมย่อยทั้งหมด

  • รหัส

    สตริง ไม่บังคับ

    โค้ด CSS ที่จะนำออก

  • cssOrigin

    CSSOrigin ไม่บังคับ

    ต้นทางของ CSS ที่จะนำออก ค่าเริ่มต้นคือ "author"

  • ไฟล์

    สตริง ไม่บังคับ

    ไฟล์ CSS ที่จะนำออก

  • frameId

    หมายเลข ไม่บังคับ

    เฟรมที่ควรนำ CSS ออก ค่าเริ่มต้นคือ 0 (เฟรมระดับบนสุด)

  • matchAboutBlank

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

    หาก matchAboutBlank เป็นจริง ระบบจะนำโค้ดออกจากเฟรม about:blank และ about:srcdoc ด้วย หากส่วนขยายมีสิทธิ์เข้าถึงเอกสารหลัก โดยค่าเริ่มต้นจะเป็น false

DocumentLifecycle

Chrome 106 ขึ้นไป

วงจรเอกสารของเฟรม

ค่าแจกแจง

"prerender"

"active"

"แคช"

"pending_deletion"

ExecutionWorld

Chrome 111 ขึ้นไป

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

ค่าแจกแจง

"ISOLATED"

"MAIN"

"USER_SCRIPT"

FrameType

Chrome 106 ขึ้นไป

ประเภทของเฟรม

ค่าแจกแจง

"outermost_frame"

"fenced_frame"

"sub_frame"

ImageDataType

Chrome 139 ขึ้นไป

ข้อมูลพิกเซลของรูปภาพ ต้องเป็นออบเจ็กต์ ImageData เช่น จากองค์ประกอบ canvas

ประเภท

ImageData

ImageDetails

รายละเอียดเกี่ยวกับรูปแบบ คุณภาพ และพื้นที่ของรูปภาพ

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

  • รูปแบบ

    ImageFormat ไม่บังคับ

    รูปแบบของรูปภาพที่ได้ ค่าเริ่มต้นคือ "jpeg"

  • คุณภาพ

    หมายเลข ไม่บังคับ

    เมื่อรูปแบบเป็น "jpeg" จะควบคุมคุณภาพของรูปภาพที่ได้ ระบบจะไม่สนใจค่านี้สำหรับรูปภาพ PNG เมื่อคุณภาพลดลง รูปภาพที่ได้จะมีอาร์ติแฟกต์ที่มองเห็นได้มากขึ้น และจำนวนไบต์ที่ต้องใช้ในการจัดเก็บจะลดลง

ImageFormat

Chrome 44 ขึ้นไป

รูปแบบของรูปภาพ

ค่าแจกแจง

"jpeg"

"png"

InjectDetails

รายละเอียดของสคริปต์หรือ CSS ที่จะแทรก ต้องตั้งค่าพร็อพเพอร์ตี้โค้ดหรือไฟล์ แต่จะตั้งค่าทั้ง 2 อย่างพร้อมกันไม่ได้

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

  • allFrames

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

    หาก allFrames เป็น true แสดงว่าควรแทรก JavaScript หรือ CSS ลงในเฟรมทั้งหมดของหน้าปัจจุบัน โดยค่าเริ่มต้นจะเป็น false และจะแทรกลงในเฟรมบนสุดเท่านั้น หากตั้งค่า true และ frameId ระบบจะแทรกโค้ดในเฟรมที่เลือกและเฟรมย่อยทั้งหมด

  • รหัส

    สตริง ไม่บังคับ

    โค้ด JavaScript หรือ CSS ที่จะแทรก

    คำเตือน: โปรดระมัดระวังในการใช้พารามิเตอร์ code การใช้งานที่ไม่ถูกต้องอาจทำให้ส่วนขยายของคุณเสี่ยงต่อการโจมตีแบบ Cross-site Scripting

  • cssOrigin

    CSSOrigin ไม่บังคับ

    Chrome 66 ขึ้นไป

    ต้นทางของ CSS ที่จะแทรก โดยจะระบุได้สำหรับ CSS เท่านั้น ไม่ใช่ JavaScript ค่าเริ่มต้นคือ "author"

  • ไฟล์

    สตริง ไม่บังคับ

    ไฟล์ JavaScript หรือ CSS ที่จะแทรก

  • frameId

    หมายเลข ไม่บังคับ

    Chrome 50 ขึ้นไป

    เฟรมที่ควรแทรกสคริปต์หรือ CSS ค่าเริ่มต้นคือ 0 (เฟรมระดับบนสุด)

  • matchAboutBlank

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

    หาก matchAboutBlank เป็นจริง ระบบจะแทรกรหัสในเฟรม about:blank และ about:srcdoc ด้วย หากส่วนขยายมีสิทธิ์เข้าถึงเอกสารหลัก ไม่สามารถแทรกโค้ดในเฟรมเกี่ยวกับระดับบนสุดได้ โดยค่าเริ่มต้นจะเป็น false

  • runAt

    RunAt ไม่บังคับ

    เวลาที่เร็วที่สุดที่ระบบจะแทรก JavaScript หรือ CSS ลงในแท็บ ค่าเริ่มต้นคือ "document_idle"

RunAt

Chrome 44 ขึ้นไป

เวลาที่เร็วที่สุดที่ระบบจะแทรก JavaScript หรือ CSS ลงในแท็บ

ค่าแจกแจง

"document_start"
ระบบจะแทรกสคริปต์หลังจากไฟล์จาก CSS แต่ก่อนที่จะสร้าง DOM อื่นๆ หรือเรียกใช้สคริปต์อื่นๆ

"document_end"
สคริปต์จะได้รับการแทรกทันทีหลังจาก DOM เสร็จสมบูรณ์ แต่ก่อนที่แหล่งข้อมูลย่อย เช่น รูปภาพและเฟรม จะโหลด

"document_idle"
เบราว์เซอร์จะเลือกเวลาที่จะแทรกสคริปต์ระหว่าง "document_end" และทันทีหลังจากที่เหตุการณ์ window.onload เริ่มทำงาน ช่วงเวลาที่แทรกจะขึ้นอยู่กับความซับซ้อนของเอกสารและระยะเวลาในการโหลด รวมถึงได้รับการเพิ่มประสิทธิภาพเพื่อความเร็วในการโหลดหน้าเว็บ สคริปต์เนื้อหาที่ทำงานที่ "document_idle" ไม่จำเป็นต้องรอเหตุการณ์ window.onload เนื่องจากรับประกันได้ว่าจะทำงานหลังจาก DOM เสร็จสมบูรณ์ หากสคริปต์จำเป็นต้องทำงานหลังจาก window.onload ส่วนขยายจะตรวจสอบได้ว่า onload ทำงานแล้วหรือยังโดยใช้พร็อพเพอร์ตี้ document.readyState