【发布时间】:2012-09-23 08:13:22
【问题描述】:
我正在为使用 JavaScript 的公司开发 EPUB 阅读器,该应用程序在 Android 2.2 上运行良好,但当我在 ICS 和 HoneyCom 上尝试时,JavaScript 无法正常运行。我遇到的第一个问题,WebView 不加载 JS 文件(Unknown Error -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 也遇到了类似的问题。 stackoverflow.com/questions/18799880/… 。您找到解决此问题的任何其他方法了吗?
-
不,我没有,试试上面的解决方案
标签: java javascript android android-webview epub