Android webview在从资源加载html、javascript源代码时引发引用错误

Android webview在从资源加载html、javascript源代码时引发引用错误,javascript,android,html,webview,Javascript,Android,Html,Webview,我正试图通过webview.loadU将一个web应用程序改编成android webviewrlfile:///android_asset/Content_to_Change/dev/index.html. 我已经将整个应用程序代码粘贴到assets文件夹中,作为“assets/Content\u To\u Change/dev”。当我运行android应用程序时,索引页面加载良好,但在加载之后,执行会以预测性的方式停止,并出现如下引用错误: Uncaught TypeError: Canno

我正试图通过webview.loadU将一个web应用程序改编成android webviewrlfile:///android_asset/Content_to_Change/dev/index.html.

我已经将整个应用程序代码粘贴到assets文件夹中,作为“assets/Content\u To\u Change/dev”。当我运行android应用程序时,索引页面加载良好,但在加载之后,执行会以预测性的方式停止,并出现如下引用错误:

Uncaught TypeError: Cannot read property 'identifier' of undefined at file:///android_asset/Content_To_Change/dev/activity/views/screen4/screen.js:361

Uncaught TypeError: Cannot read property 'yPoint' of null at file:///android_asset/Content_To_Change/dev/activity/views/screen4/screen.js:394
这些错误有时发生在一个地方,有时发生在另一个地方。我想知道为什么当应用程序在safariiOS和桌面浏览器中正常运行时会出现引用错误

在做了更多的尝试之后,在js/css的呈现中似乎存在某种加载顺序不匹配?我也试过在清单中使用android:hardwareAccelerated=true,但没有用…:

这是我的密码:

String url = "file:///android_asset/Content_To_Change/dev/index.html";
mWebView = (WebView) findViewById(R.id.webViewMain);
    // webView.setInitialScale(WEBVIEW_SCALE);
    WebSettings settings = mWebView.getSettings();
    settings.setJavaScriptEnabled(true);
    settings.setSupportZoom(true);
    settings.setDomStorageEnabled(true); //

    settings.setLoadWithOverviewMode(true);
    settings.setDatabaseEnabled(true);
    settings.setBuiltInZoomControls(true);
    settings.setPluginState(WebSettings.PluginState.ON);
    settings.setAllowFileAccess(true);
    settings.enableSmoothTransition();
    settings.setDisplayZoomControls(false);
    //      settings.set
    settings.setJavaScriptCanOpenWindowsAutomatically(true);
    settings.setLoadsImagesAutomatically(true);

    settings.setUserAgentString("Mozilla/5.0 (Linux; U; Android 2.2.1; en-us; Nexus One Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1");
    mWebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
    mWebView.setScrollbarFadingEnabled(false);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN)
    {
        settings.setAllowUniversalAccessFromFileURLs(true);
        settings.setAllowFileAccessFromFileURLs(true);
        settings.setAllowContentAccess(true);
        settings.setAllowUniversalAccessFromFileURLs(true);
    }

    mWebView.setWebChromeClient(new WebChromeClient());
    mWebView.setWebViewClient(new WebViewClient()); // forces it to
    mWebView.loadUrl(url);
Menifest有这样一个功能:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:hardwareAccelerated="true"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:screenOrientation="landscape"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

请建议如何在webview中无缝运行我的web应用?

这些看起来像是JavaScript错误。你能发布index.html吗?事实上,screen.js看起来像是发生错误的文件。感谢EJK的及时响应!。事实上,这是一个巨大的代码,正如我所说,当我在iOS safari webview或任何桌面浏览器中打开相同的index.html时,一切都可以正常工作。html很好,可以加载js和css来加载我的第一页。我不能把它粘贴在这里,因为它太长了。只有在js文件中进行更复杂的js调用之后,才会出现问题。但在其他浏览器中,相同的screen.js也可以正常工作。它看起来像是webkit的渲染问题,导致加载js等的延迟,但不确定如何解决。因此,为了调试这个问题,需要分析JavaScript。根据您的观察,这可能是一个iOS/Android网络视图问题。然而,问题几乎肯定不在您发布的Java代码中。