File handling ช่วยให้คุณกำหนดค่า ChromeOS เพื่อให้ส่วนขยายเปิดไฟล์โดยใช้เมนู "เปิด" ของเมนูไฟล์หรือเมนู "เปิดด้วย" ของเมนูตามบริบทได้ เมื่อเปิดแล้ว ให้คุณประมวลผลข้อมูลของไฟล์โดยใช้ Launch Handler API ของแพลตฟอร์มเว็บ จากนั้นคุณจะใช้ API ของแพลตฟอร์มเว็บมาตรฐานเพื่อแสดงหรือจัดการไฟล์
ความพร้อมใช้งานในส่วนขยาย
ChromeOS 120 ขึ้นไป
สิทธิ์
ไม่จำเป็นต้องมีสิทธิ์สำหรับการจัดการไฟล์
ไฟล์ Manifest
คุณต้องเพิ่มอาร์เรย์ "file_handlers"
ลงในไฟล์ Manifest.json
บริบทสนับสนุน
API นี้อาจใช้ได้ในโปรแกรมทำงานของบริการส่วนขยาย ป๊อปอัป แผงด้านข้าง หรือสคริปต์เนื้อหา
กำหนดค่าเครื่องจัดการไฟล์
สมาชิกแต่ละรายของ "file_handlers"
ซึ่งหมายถึงตัวแฮนเดิลไฟล์แต่ละรายการจะระบุประเภทไฟล์หรือประเภทที่จะให้หน้าส่วนขยายเฉพาะจัดการ
ระบบจะเพิ่มเครื่องจัดการที่คุณระบุลงในหน้าต่าง Files ของ ChromeOS ซึ่งเป็นเมนู "เปิด" และ "เปิดด้วย" โดยเฉพาะ ซึ่งจะปรากฏในเมนูเหล่านี้เมื่อผู้ใช้เลือกไฟล์ที่มีนามสกุลไฟล์เฉพาะเท่านั้น ตัวอย่างเช่น หากเครื่องจัดการไฟล์ระบุ .txt
เมนูของ ChromeOS จะแสดงตัวแฮนเดิลดังกล่าวก็ต่อเมื่อเลือกไฟล์ที่มีส่วนขยายดังกล่าวเท่านั้น
ประมวลผลไฟล์
ตัวแฮนเดิลไฟล์คือไฟล์ HTML ที่อยู่ในส่วนขยาย เมื่อผู้ใช้เลือกเครื่องจัดการของคุณจากเมนู ไฟล์ HTML จะเปิดขึ้นในแท็บใหม่ การประมวลผลไฟล์ ไม่ว่าคุณจะแสดงหรือใช้งานไฟล์ด้วยวิธีอื่นๆ จะเป็นการดำเนินการด้วย JavaScript โดยใช้ API ของแพลตฟอร์มเว็บที่เหมาะสม โค้ดการประมวลผลต้องอยู่ในไฟล์ JavaScript ที่แยกต่างหากและรวมอยู่ในแท็ก <script>
และต้องอยู่ในส่วนขยายด้วย ไฟล์สคริปต์ใช้อินเทอร์เฟซ LaunchQueue
ของ Launch Handler API เพื่อรับออบเจ็กต์ FileSystemFileHandle
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงวิธีรับออบเจ็กต์ FileSystemFileHandle
โดยใช้อินเทอร์เฟซ LaunchQueue
หากต้องการดูการใช้งานการจัดการไฟล์ ให้ติดตั้งการสาธิตการจัดการไฟล์
if ('launchQueue' in window) {
launchQueue.setConsumer(async launchParams => {
if (!launchParams.files || !launchParams.files.length) { return; }
const fileHandle = launchParams.files[0];
});
}
``````