2016-12-12 16 views
7

ContextForce Phản ứng Native Xem Web để bỏ qua phiên bản cache của webview

Hiện đang làm việc một HTML & JS Dự án nặng mà là một dự án bản địa phản ứng. Tất cả HTML & JS được tham chiếu cục bộ (không có gì trên http).

Vấn đề

Bất cứ khi nào tôi có thay đổi sang HTML hoặc JS Tôi không thấy những thay đổi (sau khi làm mới mã gốc hoặc đơn giản là chạy nó một lần nữa) vì vậy tôi buộc phải tháo bỏ hoàn toàn ứng dụng.

Câu hỏi

Có cách nào để bỏ qua các phiên bản cache của những tập tin này (đang giả định một cơ chế bộ nhớ đệm tồn tại)

tôi đã không tìm thấy bất kỳ tài nguyên có giá trị liên quan đến chủ đề này, vì vậy bất kỳ thông tin phản hồi sẽ được đánh giá cao, cảm ơn.

Trả lời

1

Tôi giả định rằng bạn đang sử dụng thành phần WebView của React Native để hiển thị HTML và JavaScript của bạn. Thành phần này dựa trên các thành phần UIWebView và WebView nguyên bản, vì vậy bạn có thể sửa đổi RN WebView bằng cách sử dụng các thủ tục tương tự như đối với các thành phần đó. Ví dụ, trong trường hợp iOS, bạn có thể làm như sau:

[[NSURLCache sharedURLCache] removeAllCachedResponses]; 
[[NSURLCache sharedURLCache] setDiskCapacity:0]; 
[[NSURLCache sharedURLCache] setMemoryCapacity:0]; 

Bạn có thể đặt mã trong phương pháp didFinishLaunchingWithOptions lại AppDelegate.m. Dựa trên this answer. Trong trường hợp Android, bạn không thể truy cập bộ nhớ cache trừ khi bạn có quyền truy cập vào cá thể của WebView (theo this answer), vì vậy những gì bạn có thể làm là tạo WebView của riêng bạn bằng cách sử dụng mã RN WebView kết hợp với xóa bộ nhớ cache chức năng. Nó không phức tạp như nó có vẻ.

0

Đối với android, cài đặt "Thông tin ứng dụng", trong Bộ nhớ sẽ cho phép bạn xóa bộ nhớ cache. Đây là cách bạn có thể bắt buộc tải lại bất kỳ tài nguyên nào bạn đang hiển thị trong WebView.

+0

Đây có thể là giải pháp thay thế nhanh hơn, nhưng tôi đã hy vọng tìm được cấu hình trong chính dự án RN. – ElliotM

Các vấn đề liên quan