chrome.extensionTypes

คำอธิบาย

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

ประเภท

CSSOrigin

Chrome 66 ขึ้นไป

origin ของ CSS ที่แทรก

ค่าแจกแจง

DeleteInjectionDetails

Chrome เวอร์ชัน 87 ขึ้นไป

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

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

  • allFrames

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

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

  • รหัส

    string ไม่บังคับ

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

  • cssOrigin

    CSSOrigin ไม่บังคับ

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

  • ไฟล์

    string ไม่บังคับ

    CSS ที่ต้องการนำออก

  • frameId

    ตัวเลข ไม่บังคับ

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

  • matchAboutBlank

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

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

DocumentLifecycle

Chrome 106 ขึ้นไป

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

ค่าแจกแจง

FrameType

Chrome 106 ขึ้นไป

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

ค่าแจกแจง

"outermost_frame"

"fenced_frame"

ImageDetails

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

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

  • รูปแบบ

    ImageFormat ไม่บังคับ

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

  • คุณภาพ

    ตัวเลข ไม่บังคับ

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

ImageFormat

Chrome 44 ขึ้นไป

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

ค่าแจกแจง

"jpeg"

"png"

InjectDetails

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

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

  • allFrames

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

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

  • รหัส

    string ไม่บังคับ

    JavaScript หรือ CSS ที่จะแทรก

    คำเตือน: โปรดระมัดระวังเมื่อใช้พารามิเตอร์ code การใช้ส่วนขยายอย่างไม่ถูกต้องอาจเปิดส่วนขยายของคุณเพื่อโจมตีผ่านสคริปต์บนเว็บไซต์

  • cssOrigin

    CSSOrigin ไม่บังคับ

    Chrome 66 ขึ้นไป

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

  • ไฟล์

    string ไม่บังคับ

    JavaScript หรือ CSS ที่จะแทรก

  • frameId

    ตัวเลข ไม่บังคับ

    Chrome 50 ขึ้นไป

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

  • matchAboutBlank

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

    หาก MatchAboutBlank เป็น "จริง" ระบบจะแทรกโค้ดในเฟรม about:blank และ about:srcdoc ด้วย หากส่วนขยายมีสิทธิ์เข้าถึงเอกสารระดับบนสุด ไม่สามารถแทรกโค้ดในส่วน about:-frames ระดับบนสุด ค่าเริ่มต้นคือ 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