0

我正在开发适用于 Android 的混合应用程序。我正在使用 JQuery 执行到 WebView 中。

从 JQuery 我需要从 assets/www 文件夹中读取本地文件。

在浏览器中测试我的代码工作正常,但在 Android 上的 WebView 中似乎找不到文件,没有返回任何错误消息。

我加载 Webview 的代码:

webViewMenu = (WebView) findViewById(R.id.webViewMenu);
// Add javascripInterface to the webviews
webViewMenu.addJavascriptInterface(myJavaScriptInterface, "AndroidFunction");
// Open webview with Chrome
webViewMenu.setWebChromeClient(new WebChromeClient(){
    @Override
    public void onExceededDatabaseQuota(String url, String
    databaseIdentifier, long currentQuota, long estimatedSize,
    long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater) {
        quotaUpdater.updateQuota(estimatedSize * 2);
    }
});
WebSettings settingsMenu = webViewMenu.getSettings();
settingsMenu.setJavaScriptEnabled(true);
settingsMenu.setDatabaseEnabled(true);
settingsMenu.setDomStorageEnabled(true);
settingsMenu.setJavaScriptCanOpenWindowsAutomatically(true);
String databasePath = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath();
settingsMenu.setDatabasePath(databasePath);
webViewMenu.loadUrl("file:///android_asset/www/menu.html");

我的 JQuery 代码读取本地文件:

$.get('../sql/models.sql', function(sql){
     console.log("info: init the models database with SQL: " + sql);
     sqlProcessRequest(sql, "ModelsLoading");
     },
     function(e){
     console.log("error: loading models.sql file!");
});

在浏览器上,文件可以很好地读取,但在 WebView 中,既不会调用成功函数,也不会调用错误函数。

我的文件夹树如下:www/index.html js/code.js sql/models.sql

任何想法...非常感谢

4

0 回答 0