2016-12-12 37 views
7

語境隊陣營本地Web視圖以忽略的WebView

的緩存版本目前正在一個HTML & JS重型項目,是一個天然的反應項目。所有的HTML & JS都被本地引用(沒有任何關於http的)。

問題

每當我更改HTML或JS我沒有看到變化(再次刷新本地代碼或簡單地運行它之後),所以我被迫完全卸載應用程序。

問題

有沒有辦法忽略這些文件的緩存版本(我假設一個緩存機制存在的話)

我還沒有發現關於這個話題的任何有效的資源,因此任何反饋將不勝感激,謝謝。

回答

1

我假設您正在使用React Native的WebView組件呈現您的HTML和JavaScript。此組件依賴於本機UIWebView和WebView組件,因此您可以使用與那些相同的步驟修改RN WebView。例如,在iOS的情況下,可以執行以下操作:

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

你可以把這些代碼在你的AppDelegate.mdidFinishLaunchingWithOptions方法。基於this answer

在Android情況下,除非您有權訪問WebView的實例(根據this answer),否則無法訪問緩存,因此您可以使用RN WebView的代碼和緩存刪除一起創建自己的WebView功能。它並不像看起來那麼複雜。

0

對於android,存儲下的「應用程序信息」設置將允許您清除緩存。這就是您可以強制重新加載WebView中顯示的任何資源的方式。

+0

這可能是一個更快的選擇,但我希望能夠在RN項目本身中找到配置。 – ElliotM