ฉันมี WKWebView ที่โหลดชุดหน้าเว็บในเครื่องโดยใช้ WKWebViewConfiguration
เพื่อตั้งค่าการกำหนดค่าสำหรับ @"allowFileAccessFromFileURLs"
ให้เป็นจริง
คำขอถูกตั้งค่าด้วยสิ่งนี้:
NSURL *url = [[NSBundle mainBundle] URLForResource:@"testPage" withExtension:@"html" subdirectory:@"html/pages"];
NSURLRequest *req = [[NSURLRequest alloc] initWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:10.0f];
จากนั้นคำขอจะถูกส่งโดยใช้วิธี WKWebview ต่อไปนี้:
- (nullable WKNavigation *)loadRequest:(NSURLRequest *)request;
ปัญหาของฉันคืออุปกรณ์มีการเชื่อมต่อปัจจุบัน แต่ไม่มีการรับส่งข้อมูลเครือข่าย WebView ในฐานะองค์ประกอบบนหน้าจอจะถูกเพิ่มลงในหน้าจอและจะมีการร้องขอ แต่ WebView จะแสดงหน้าจอสีขาวประมาณ 50 วินาทีก่อนที่จะแสดงเนื้อหาในเครื่อง
ทุกอย่างใน webview จะโหลดโดยไม่คำนึงถึงสถานะของเครือข่าย เนื่องจากโหลดในเครื่องเมื่อไม่ได้ตั้งค่าเครื่องมือควบคุมลิงก์
ตัวอย่างเช่น หากอุปกรณ์เชื่อมต่อกับระบบไร้สายแต่ตัวปรับสภาพลิงก์เครือข่ายถูกตั้งค่าเป็นการสูญเสีย 100% Webview ถูกสร้างขึ้นและส่งคำขอให้โหลดเนื้อหาในเครื่องที่ทำให้เกิดการค้างของการโหลด
ฉันคิดว่าอาจเป็น WKWebView ที่พยายามทำการตรวจสอบความถูกต้องบางอย่างในพื้นหลังที่ต้องมีการทำธุรกรรมผ่านเครือข่าย แต่ฉันได้ทำโปรไฟล์เครือข่ายด้วยเครื่องมือและบันทึกไทม์ไลน์บางส่วนใน Safari WebView และฉันไม่เห็นสิ่งใดที่จะทำให้เกิด มันจะแขวน
เหตุผลเดียวที่ฉันคิดได้ว่ามันจะโหลดเนื้อหาในเครื่องหลังจากผ่านไป 50 วินาทีหรือประมาณนั้นก็คือว่ามันถึงระยะหมดเวลาของ WKWebView เพื่อโหลดการเชื่อมต่อเครือข่าย
ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมากขอบคุณ