วิธีระบุการดาวน์โหลดใน wkwebview

ฉันกำลังทำงานกับ WKWebView และต้องการรองรับการดาวน์โหลดและแสดงใน Quick Look ด้านล่างนี้คือรูปแบบของแท็ก html

‹ a href=https://abc/p/docs/DownloadTest.xlsx>DownloadTest. xlsx‹ /a>"

ใน Android: โค้ดด้านบนทำงานได้ดีใน Android เรามี Download Listener ใน Webview มันจะตรวจจับการดาวน์โหลดและให้การโทรกลับ Android webview: ดาวน์โหลดไฟล์เช่นเดียวกับเบราว์เซอร์

ใน iOS: สิ่งแรกที่ฉันต้องการถาม มีการเรียกกลับใน WKWebView ซึ่งระบุลิงก์ดาวน์โหลดจาก html เดียวกันหรือจำเป็นต้องตรวจสอบด้วยตนเองในการตัดสินใจนโยบายสำหรับผู้รับมอบสิทธิ์ NavigationAction หรือไม่


person iOS_Developer    schedule 03.04.2019    source แหล่งที่มา
comment
คำถามที่คล้ายกันที่ถาม: stackoverflow.com/questions /48903293/   -  person iOS_Developer    schedule 03.04.2019
comment
ฉันคิดว่าคุณสามารถตรวจสอบประเภทไฟล์ได้ในการตัดสินใจนโยบาย ตัวอย่างเช่น ฉันสามารถใช้ AVAsset เพื่อโหลด URL ระยะไกล (navigationAction,request.url) และตรวจสอบ isPlayable หากเป็นเช่นนั้น ฉันรู้ว่าฉันสามารถเรียกใช้โปรแกรมเล่นสื่อแทนการโหลดหน้าเว็บใน WKWebView ได้ คุณสามารถดาวน์โหลดไฟล์และตรวจสอบประเภทได้เช่นกัน เพื่อให้คุณสามารถโหลดได้โดยตรงโดยไม่ต้องดาวน์โหลดเมื่อคุณนำเสนอเนื้อหา (ในกรณีที่คุณต้องการประเภทนั้น) ฉันหวังว่าความคิดเห็นนี้จะช่วยสร้างแรงบันดาลใจให้เกิดแนวคิดบางอย่าง   -  person    schedule 03.04.2019
comment
ใน iOS WKWebview ปัญหาอยู่ที่ QuickLook (x-apple-ql-id) รูปแบบที่แสดงตัวอย่างแต่ละรูปแบบจะถูกแปลงเป็น HTML โดยโปรแกรมดูตัวอย่างในตัว และนั่นคือเหตุผลว่าทำไมรูปแบบเช่น ppt, doc, pptx ฯลฯ คุณจะยังคงได้รับประเภท mime text/html แทนที่จะเป็นรูปแบบจริง นี่เป็น Bug เพราะหากคุณยังคงทำการดีบักในซาฟารีคุณจะพบ MimeType จริง แต่ใน WKWebView ที่แสดง Mimetype text/html   -  person Mrug    schedule 25.05.2020