我正在尝试通过webview.loadUrl("file:///android_asset/Content_to_Change/dev/index.html").
我已将整个应用程序代码粘贴到资源文件夹中'assets/Content_To_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
此外,这些错误有时会发生在一个地方,有时也发生在另一个地方我想知道为什么在应用程序正常工作时会出现引用错误,而在Safari(iOS)和桌面浏览器中没有任何错误!
在做了更多的点击和试验之后,似乎在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中无缝运行我的网络应用程序?。