JavaScript 不适用于 ICS

标签 java javascript android android-webview epub

我正在为公司使用 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 仍然无法正常工作。有人有解决方案吗?

最佳答案

我找到的唯一解决方案与问题相同....

关于JavaScript 不适用于 ICS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12550756/

相关文章:

android - Gradle:无法解析从非 build.gradle 文件导入的任务

java - 为什么这段java代码没有返回任何输出?

java - Effective Use of Java Reflection——这是黑客攻击,还是标准做法?

javascript - 更改文本输入边框颜色

javascript - 如果所选元素可见,则不执行任何操作,如果不可见则滚动到它

java - 如何在android中将特定的用户代理与(神奇的)ExoPlayer一起使用?

java - 将 Android 应用程序转换为 Android 库会出现错误 : constant expression required

java - RecyclerView 不显示数据 1 正在工作,但其他没有显示任何内容,有什么想法吗?

Java NIO2 并发完成处理程序

javascript - javascript中typeof的用法是什么?