2

我刚刚从分包商那里收到了 PhoneGap 解决方案,以便在发布前在我的手机上进行测试。

我将项目导入 Eclipse,一切看起来都很好。

我可以通过打开 index.html 文件在我的计算机上本地测试应用程序:

file://E:/AppDevelopment/Workspace/myproject/assets/www/index.html

到现在为止还挺好。然后我尝试在我的手机上启动它(通过 USB 电缆)。首页打开,但缺少 CSS。当我单击任何链接时,我会收到以下消息:

"A network error occurred. (file:///android_asset/www/car.html?carID=106"

有没有人遇到过类似的问题?关于如何调试错误的任何建议?

更新

按照 Dmyto 的建议,我正在尝试更改 onReceivedError。但我只会遇到编码错误。

package com.phonegap.mysite;

import android.os.Bundle;
import org.apache.cordova.*;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class Mysiteextends DroidGap {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.loadUrl("file:///android_asset/www/index.html");

    }

/** This is where it goes wrong **/

    WebView webview = new WebView(this);

    webview.setWebViewClient(new WebViewClient() {
        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                Log.i("WEB_VIEW_TEST", "error code:" + errorCode);
                super.onReceivedError(view, errorCode, description, failingUrl);
        }

}
4

3 回答 3

2

如果没有看到您的index.html代码,很难判断您是否正确引用了您的 css 文件。另外,那个 url:file:///android_asset/www/car.html=carID=106似乎无效?是什么=carID=106?正确的 URL 应该是?carID=106. 但是等等,Android 上有一个错误,即无法正确读取 url 参数。

这是Android上的一个错误。你应该去给它加星标:

https://code.google.com/p/android/issues/detail?id=17535

同时使用localStorage.setItem()/getItem()在页面之间传递值。

于 2012-05-03T15:23:20.127 回答
0

您可以将WebViewClient设置为您的 Web 视图和 ovverideonReceivedError方法。

于 2012-05-03T15:02:45.420 回答
0

您可能需要使用 IceCreamCordovaWebViewClient

@Override
    public void init() {
    super.init(webView, new IceCreamCordovaWebViewClient(this, webView), new CordovaChromeClient(this, webView));
}
于 2013-06-05T18:34:06.730 回答