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