我有一个要在android的webview中加载的webapp。
该应用包含一些1MB的巨大文件,这些文件未缓存在Webview中,因此每次加载文件所花费的时间都很少。作为实验,我想将这些文件包含在应用程序的资产文件夹中,并使用webview内的javascript提取从那里加载。
但是我最终遇到了如下所示的cors异常
VM45:769 Fetch API cannot load `file:///android_asset/kixr_detector_001.wasm. URL scheme must be "http" or "https" for CORS request.`
反正是否有将android资产文件夹中的文件加载到在Webview中运行的应用程序的功能?或其他缓存这些文件的方式。
非常感谢您的帮助。 预先感谢。
答案 0 :(得分:0)
浏览器不允许带有ajax调用的file:// URL(出于安全性考虑) 原因)。您需要通过网络服务器加载网页并 您使用http://或https://通过该Web服务器发出的ajax请求, 不是file:// –
(来自评论)
您可以尝试通过以下方式在WebView中启用caching:
webViewComp.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
webViewComp.getSettings().setAppCacheEnabled(true)
答案 1 :(得分:0)
您可以通过以下代码的Webview设置启用WebView缓存
webview.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT)
webview.getSettings().setAppCacheEnabled(true);