phonegap,连接到服务器不成功

Posted

技术标签:

【中文标题】phonegap,连接到服务器不成功【英文标题】:phonegap, connection to server unsuccessful 【发布时间】:2011-07-01 16:50:39 【问题描述】:

我正在尝试使用 phonegap 编写一个 android 应用程序,并且我正在编写一个带有按钮的静态首页,在我介绍 jQuery mobile 和 jQuery(它们作为外部文件链接)之前一直有效。现在,它给了我这个错误信息(在它产生一个空白窗口 30 秒左右之后):

与“www/assets/index.html”的服务器连接失败

由于消息一闪而过,我无法再阅读。有什么帮助吗?

【问题讨论】:

我只在虚拟设备上遇到这个错误,在真实设备上不会发生这个错误。 【参考方案1】:

“链接为外部文件”到底是什么意思?

jQuery Mobile 和 jQuery 源需要位于 assets/www 目录中,或者需要在启用无线或移动数据的可访问 cdn 站点上外部链接。

有一个例子here。

另外,请参阅JQuery Mobile + PhoneGap for Android - Error loading index.html - 在调用 super.loadUrl 之前在自定义 Activity 文件中添加以下行: super.setIntegerProperty("loadUrlTimeoutValue", 60000);

【讨论】:

我可以在我的页面下方看到我的页面无法加载的错误,这对我有用。此处也有详细说明:***.com/questions/6477798/phonegap-android 差不多两年后,我仍然不知道这是怎么发生的。我不得不放弃那个客户端——他只是无法让它连接到他的设备上!所有来源都已链接,我正在使用 Phonegap Build 服务...【参考方案2】:

更好的解决方案是保留一个极轻的文件作为初始加载,然后重定向到原始 index.html。例如:

<!doctype html>
<html>
  <head>
   <title>tittle</title>
   <script>
       window.location = './index.html';
   </script>
  <body>
  </body>
</html>

【讨论】:

这通常不是您在网络上做的事情 - 为什么要为 Phonegap 做这样的事情? @DhaivatPandya 如果没有任何效果,那么这是修复它的方法之一。如果您对这种方法不满意,那么您需要回过头来想想出了什么问题以及为什么它需要超过 60 秒或任何限制。【参考方案3】:

这解决了我的问题

@Override
public void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    super.loadUrl("file:///android_asset/www/home/index.html");
    super.setIntegerProperty("loadUrlTimeoutValue", 10000); 

我添加了 super.setIntegerProperty("loadUrlTimeoutValue", 10000); 到 com.mypackage.xxx.java 文件 等待10秒的等待时间。

【讨论】:

这对我不起作用 - 超时值无法更改(因为我使用的是 Phonegap Build 服务) - 老实说,这对于 Phonegap 人来说应该是一个简单的解决方案。 【参考方案4】:

我怀疑问题是您输入了错误的super.loadUrl()。 loadUrl 应该有这个字符串file:///android_asset/www/index.html 并且实际上位于assets/www/

失踪的's'让我个人感到失望。

编辑:

需要检查的其他事项:

浏览器可以上网 访问互联网的权限。 尝试将 jquery 和 jqm 库下载到设备并使用 index.html 存储它们。因为模拟器速度很慢,它可能会干扰页面对下载库的响应。在本地存储应该避免这种情况。

【讨论】:

你在模拟器中运行吗? 更具体地说,您的模拟器中有互联网连接吗?【参考方案5】:

嗨,我想你在开始时加载了多个脚本,所以你做这样的事情

<!doctype html>

<html>

    <head>

        <title>tittle</title>

        <script>

            window.location='./main.html';

        </script>

    <body>      

    </body>

</html>

【讨论】:

以上是关于phonegap,连接到服务器不成功的主要内容,如果未能解决你的问题,请参考以下文章

通过带有 SSL 和证书的 Phonegap 连接到 Web 服务器

使用 Javascript 连接到 XMPP 服务器

iOS 5 的 Websocket 连接立即关闭,我正在尝试连接到 node.js 服务器和 phonegap 应用程序

如何将phonegap应用程序连接到广播地址上的服务器

无法连接到 websocket

如何从 iOS 上的 PhoneGap 应用程序连接到 SignalR 集线器?