【发布时间】:2014-03-01 19:58:02
【问题描述】:
我能够创建一个 Android hello world 应用程序,该应用程序使用 WebView.loadDataWithBaseURL 方法从 assets 文件夹加载 html 文件:
webView.loadDataWithBaseURL("file:///android_asset/appcode/", html, "text/html", "UTF-8", null);
我的 html 看起来有点像这样:
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<script src="/js/lib/jquery-1.11.0.js"></script> <!-- This script is not being loaded -->
<script src="helloWorld.js"></script> <!-- This script is being loaded -->
</head>
<body>
<div id="placeholder"></div>
</body>
</html>
问题如下: jquery-1.11.0.js 没有被加载,而 helloWorld.js 文件成功加载。我验证了该文件存在于相对路径下。
如果我将 jquery-1.11.0.js 移动到 html 文件位置(到 helloWorld.js 所在的同一位置),它可以解决问题。但我想使用相对路径来加载脚本。提前致谢。
更新:
- 移动 /assets/appcode/ 下的所有 js 文件不是一个选项, 因为我打算重用依赖这些的 html 文件 相对路径
- 使用 CDN 链接将不起作用,因为我是 计划加载我自己的脚本,这些脚本在网络上不可用
- 如果我使用“file:///android_asset/appcode/js/lib/jquery-1.11.0.js”而不是“/js/lib/jquery-1.11.0.js”,它也可以。但这是绝对路径,当我想使用相对路径时。
【问题讨论】:
标签: javascript android jquery html webview