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