การจัดการไฟล์ใน Chrome OS

การจัดการไฟล์ช่วยให้คุณกำหนดค่า ChromeOS เพื่อให้ส่วนขยายสามารถเปิดไฟล์โดยใช้เมนู "เปิด" ของเมนูไฟล์หรือเมนู "เปิดด้วย" ของเมนูตามบริบทได้ เมื่อเปิดแล้ว ให้คุณประมวลผลข้อมูลของไฟล์โดยใช้ Launch Handler API ของแพลตฟอร์มเว็บ จากนั้นคุณจะใช้ API ของแพลตฟอร์มเว็บแบบมาตรฐานเพื่อแสดงหรือจัดการไฟล์

วันที่ ตัวแฮนเดิลไฟล์ที่เพิ่มลงในเมนู "เปิด" ของ ChromeOS
ตัวแฮนเดิลไฟล์ที่เพิ่มลงในเมนู "เปิด" ของ ChromeOS

ความพร้อมใช้งานในส่วนขยาย

ChromeOS 120 ขึ้นไป

สิทธิ์

ไม่ต้องใช้สิทธิ์สำหรับ File Handling

ไฟล์ Manifest

คุณต้องเพิ่มอาร์เรย์ "file_handlers" ลงในไฟล์ Manifest.json

บริบทที่สนับสนุน

API นี้อาจใช้กับ Service Worker ส่วนขยาย ป๊อปอัป แผงด้านข้าง หรือสคริปต์เนื้อหา

กำหนดค่าตัวแฮนเดิลไฟล์

สมาชิกแต่ละรายของ "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];
  });
}
``````