我已经花了几个小时寻找解决方案;虽然也有类似的情况,但我认为有点不同。
我有一个正在加载到 webview 中的网站
setContentView(R.layout.activity_main);
WebView myWebView = (WebView) findViewById(webview);
myWebView.loadUrl("http://my-website.com/index.php");
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(request.toString());
return true;
}
}); }
它加载网站正常。没有问题。我想做的(因为有很多 CSS 和 JS 文件)是从 Android 应用程序的资产文件夹中加载这些文件 - 我试图使页面加载速度更快。
<link href="file:///android_asset/css/keyframes.css" rel="stylesheet" type="text/css">
<link href="file:///android_asset/css/materialize.min.css" rel="stylesheet" type="text/css">
<link href="file:///android_asset/css/swiper.css" rel="stylesheet" type="text/css">
<link href="file:///android_asset/css/swipebox.min.css" rel="stylesheet" type="text/css">
<link href="file:///android_asset/css/style.css" rel="stylesheet" type="text/css">
目前它没有加载任何以这种方式调用的 CSS 文件。
我真的不想用一个简单的问题来困扰任何人,它只是一直困扰着我,而且我不擅长 Java。
另外,这不是本地 HTML 页面。这是从远程服务器加载的 PHP 页面。
我不是移动开发人员,但我是一名 Web 开发人员,我确实为我的移动开发同事编写了一些 Webview 页面。
据我所知,您无法在 webview 中访问文件系统。但是,您可以让您的应用程序缓存 css / js 文件。
viewer.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT)
(这是来自一个answer https://stackoverflow.com/a/17429301/1273587在 stackoverflow 上)(这是关于缓存设置的文档 https://developer.android.com/reference/android/webkit/WebSettings.html)
通过使用默认的缓存设置,CSS / JS 文件在第一次下载后将被缓存,就像在普通浏览器中缓存一样。所以你可以简单地使用
<link href="https://your.domain/css/style.css" rel="stylesheet" type="text/css">
以实现您想要的更快的页面加载。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)