正在将 index.html 从资产加载到 WebView,但找不到 index.html 中引用的其他文件
Loading index.html from assets into WebView but other files referenced in index.html can't be found
问题
我能够使用 webView.loadUrl("file:///android_asset/www/index.html);
从本地 assets
目录成功加载我的 index.html
文件到我的 WebView
页面保持白色,我的 chrome 调试控制台出现 js
错误,指出 *.js
和 *.css
文件链接在 index.html
无法找到。 Filed to load resource: net:: ERR_FILE_NOT_FOUND
.
信息
Web 视图设置
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>
我的 assets
目录中有一个 www
目录,其中包含我的网站内容。
目录结构:
- 资产
- www
- index.html
- *.js(很多js文件)
- styles.css
- 等等
所有文件都位于与 index.html
相同的目录中,所以我不确定为什么找不到它们。
Android WebView 是否有什么东西导致了这个错误?我在这里不知所措。
我曾经遇到过同样的问题。我已经添加了完整的路径并且它有效。请添加路径,
<!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>
并分别指向所有其他文件。
问题
我能够使用 webView.loadUrl("file:///android_asset/www/index.html);
assets
目录成功加载我的 index.html
文件到我的 WebView
页面保持白色,我的 chrome 调试控制台出现 js
错误,指出 *.js
和 *.css
文件链接在 index.html
无法找到。 Filed to load resource: net:: ERR_FILE_NOT_FOUND
.
信息
Web 视图设置
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>
我的 assets
目录中有一个 www
目录,其中包含我的网站内容。
目录结构:
- 资产
- www
- index.html
- *.js(很多js文件)
- styles.css
- 等等
- www
所有文件都位于与 index.html
相同的目录中,所以我不确定为什么找不到它们。
Android WebView 是否有什么东西导致了这个错误?我在这里不知所措。
我曾经遇到过同样的问题。我已经添加了完整的路径并且它有效。请添加路径,
<!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>
并分别指向所有其他文件。