我正在尝试使用PhoneGap编写Android应用程序,并编写一个带有按钮的静态首页。在引入jQuery mobile和jQuery(它们作为外部文件链接)之前,一切都正常。现在,它给我这个错误消息(在产生空白窗口约30秒后):
连接到服务器未能成功到达“www/assets/index.html”
由于该消息很快消失,所以我无法阅读更多信息。有什么帮助吗?
我正在尝试使用PhoneGap编写Android应用程序,并编写一个带有按钮的静态首页。在引入jQuery mobile和jQuery(它们作为外部文件链接)之前,一切都正常。现在,它给我这个错误消息(在产生空白窗口约30秒后):
连接到服务器未能成功到达“www/assets/index.html”
由于该消息很快消失,所以我无法阅读更多信息。有什么帮助吗?
“作为外部文件链接”是什么意思?
jQuery Mobile 和 jQuery 的源代码必须位于 assets/www 目录中,或者链接到可访问的启用无线电波或移动数据的 cdn 网站上。
这里有一个例子 here。
此外,请参见 JQuery Mobile + PhoneGap for Android - Error loading index.html - 在调用 super.loadUrl 之前,在您的自定义 Activity 文件中添加以下行:super.setIntegerProperty("loadUrlTimeoutValue", 60000);
更好的解决方案是保持一个极其轻量级的文件作为初始加载,然后重定向到原始的index.html。例如:
<!doctype html>
<html>
<head>
<title>tittle</title>
<script>
window.location = './index.html';
</script>
<body>
</body>
</html>
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/home/index.html");
super.setIntegerProperty("loadUrlTimeoutValue", 10000);
我已经在com.mypackage.xxx.java文件中添加了super.setIntegerProperty("loadUrlTimeoutValue", 10000);,用于等待10秒的时间。
我怀疑问题在于您输入了super.loadUrl()
的错误。
loadUrl应该有这个字符串file:///android_asset/www/index.html
,并且实际上位于assets/www/
。
缺少的“s”让我个人感到困惑。
检查其他一些事项:
index.html
存储在一起。由于模拟器速度较慢,可能会干扰页面对下载库的响应。本地存储应该避免这种情况。嗨,我认为您在启动时加载了多个脚本,因此您可以尝试像这样做:
<!doctype html>
<html>
<head>
<title>tittle</title>
<script>
window.location='./main.html';
</script>
<body>
</body>
</html>