JavaScript没有';I don’我不在研究集成电路
我正在使用JavaScript为该公司开发EPUB reader,该应用程序在Android2.2上运行良好,但当我在ICS&HoneyCom上尝试时,JavaScript并不运行良好。我遇到的第一个问题是,JavaScript没有';I don’我不在研究集成电路,java,javascript,android,android-webview,epub,Java,Javascript,Android,Android Webview,Epub,我正在使用JavaScript为该公司开发EPUB reader,该应用程序在Android2.2上运行良好,但当我在ICS&HoneyCom上尝试时,JavaScript并不运行良好。我遇到的第一个问题是,WebView无法加载JS文件(未知错误-6),因此我使用了以下解决方案: @TargetApi(11) @Override public WebResourceResponse shouldInterceptRequest(WebView view, String url) { L
WebView
无法加载JS文件(未知错误-6
),因此我使用了以下解决方案:
@TargetApi(11)
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
Log.d("shouldInterceptRequest", url);
InputStream stream = inputStreamForAndroidResource(url);
if (stream != null) {
return new WebResourceResponse("text/javascript", "utf-8", stream);
}
return super.shouldInterceptRequest(view, url);
}
private InputStream inputStreamForAndroidResource(String url) {
final String ANDROID_ASSET = "file:///android_asset/";
if (url.contains(ANDROID_ASSET)) {
// url = url.replaceFirst(ANDROID_ASSET, "");
String[] f = url.split("/");
url = "epub/"
+ f[f.length - 1]
.substring(0, f[f.length - 1].indexOf("'"));
try {
AssetManager assets = mActivity.getAssets();
Uri uri = Uri.parse(url);
return assets
.open(uri.getPath(), AssetManager.ACCESS_STREAMING);
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
现在我没有这个错误,但是JS仍然不能工作。有人有解决办法吗?也许是我在这里说的一件蠢事。但是很晚了,我很累 您是否尝试过在
WebView
中启用Javascript
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
您可以在manifest.xml的应用程序标记中添加一个属性android:hardwareAccelerated=“true”,也可以在创建时添加一些设置
wvMain.getSettings().setSupportZoom(true);
wvMain.getSettings().setBuiltInZoomControls(true);
wvMain.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
wvMain.setScrollbarFadingEnabled(true);
wvMain.getSettings().setLoadsImagesAutomatically(true);
wvMain.getSettings().setJavaScriptEnabled(true);
wvMain.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
wvMain.getSettings().setPluginsEnabled(true);
wvMain.getSettings().setSupportZoom(false);
wvMain.getSettings().setCacheMode(wvMain.getSettings().LOAD_NO_CACHE);
webSettings8.setPluginState(WebSettings.PluginState.ON);
wvMain.setWebViewClient(new WebViewClient());
wvMain.addJavascriptInterface(this, "Android");
wvMain.getSettings().setSupportMultipleWindows(true);
wvMain.getSettings().setPluginsEnabled(true);
wvMain.getSettings().setUseWideViewPort(true);
wvMain.getSettings().setLoadWithOverviewMode(true);
我希望这会有所帮助。但请注意,硬件加速属性支持3.0之后。我找到的唯一解决方案与问题相同……它已经启用:),正如我告诉您的,它在2.2上工作正常,但错误在ics和蜂巢上,无论如何,谢谢您所说的大部分功能都已启用,但其中一些功能如zoom和wideView我不需要,还是一样,好吧,一般情况下是不会发生的。我建议你检查一下你的日志。您将知道错误发生在代码的哪一行。它可能是任何空值或其他。您还可以使用广播接收器。我认为这肯定会对您有所帮助。嗨,我现在的WebView也面临类似的问题。你找到这个问题的其他解决方案了吗?没有,试试上面的解决方案