คำอธิบาย
chrome.extensionTypes
API มีการประกาศประเภทสำหรับส่วนขยาย Chrome
ประเภท
ค่าแจกแจง
DeleteInjectionDetails
รายละเอียดของ 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
วงจรเอกสารของเฟรม
ค่าแจกแจง
ExecutionWorld
โลกของ JavaScript สำหรับสคริปต์ที่เรียกใช้ภายใน อาจเป็นโลกที่แยกออกมาเฉพาะสำหรับส่วนขยายนี้ โลกหลักของ DOM ที่แชร์กับ JavaScript ของหน้าเว็บ หรือโลกสคริปต์ผู้ใช้ซึ่งพร้อมใช้งานสำหรับสคริปต์ที่ลงทะเบียนกับ User Scripts API เท่านั้น
ค่าแจกแจง
"ISOLATED"
FrameType
ประเภทของเฟรม
ค่าแจกแจง
"outermost_frame"
"fenced_frame"
ImageDetails
รายละเอียดเกี่ยวกับรูปแบบและคุณภาพของรูปภาพ
พร็อพเพอร์ตี้
-
รูปแบบ
ImageFormat ไม่บังคับ
รูปแบบของรูปภาพที่ได้ ค่าเริ่มต้นคือ
"jpeg"
-
คุณภาพ
ตัวเลข ไม่บังคับ
เมื่อรูปแบบคือ
"jpeg"
จะควบคุมคุณภาพของรูปภาพที่ได้ รูปภาพ PNG จะไม่สนใจค่านี้ เมื่อคุณภาพลดลง รูปภาพที่ได้จะมีอาร์ติแฟกต์ภาพมากขึ้น และจำนวนไบต์ที่ต้องใช้ในการจัดเก็บข้อมูลจะลดลง
ImageFormat
รูปแบบของรูปภาพ
ค่าแจกแจง
"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
เร็วที่สุดที่มีการแทรก 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