我能够使用index.html
从本地WebView
目录中的assets
文件中成功加载webView.loadUrl("file:///android_asset/www/index.html);
文件
该页面保持白色,并且在chrome调试控制台中出现js
错误,该错误指出*.js
中链接的*.css
和index.html
文件无法被发现。 Filed to load resource: net:: ERR_FILE_NOT_FOUND
。
WebView设置
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setAllowUniversalAccessFromFileURLs(true);
WebView还具有自定义的WebChromeClient和WebViewClient。
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
...
<link rel="stylesheet" href="styles.css">
...
</head>
<body>
<app-root></app-root>
...
<script type="text/javascript" src="runtime.js">
</script>
...
</body>
</html>
我的www
目录中有一个assets
目录,其中包含我的网站内容。
目录结构:
所有文件都与index.html
位于同一目录中,所以我不确定为什么找不到这些文件。
Android WebView是否存在引起此错误的东西?我在这里茫然。
答案 0 :(得分:1)
我曾经遇到过同样的问题。我已经添加了完整的路径,并且可以正常工作。请添加路径,
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
...
<link rel="stylesheet" href="file:///android_asset/www/styles.css">
...
</head>
<body>
<app-root></app-root>
...
<script type="text/javascript" src="file:///android_asset/www/runtime.js">
</script>
...
</body>
</html>
以及所有其他文件。