2

アプリケーションを構築しIonicていて、それを custom にパックする必要がありますAndroid wrapper。基本的にはWebView、ダウンローダーにリンクされた単純なものです。可能な限り、アプリは更新があるかどうかを確認Ionic soucesし、ローカル ディレクトリにダウンロードします。

ダウンローダは問題なく動作しますが、ローカル Web サイトを にロードする必要があるときに問題が発生しましたWebView。これまでのところ、私のコードは次のとおりです。

WebSettings webSettings = webview.getSettings();
webSettings.setDatabaseEnabled(true);
webSettings.setGeolocationEnabled(true);
webSettings.setJavaScriptEnabled(true);
webSettings.setSupportMultipleWindows(false);
webSettings.setRenderPriority(RenderPriority.HIGH);
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT)
{
    webSettings.setDatabasePath(getFilesDir().getPath() + "databases/");
}
if (Build.VERSION.SDK_INT >= 11)
{
    webview.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
webview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);

// Attach listeners
webview.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url)
    {
        if (Uri.parse(url).getHost().contains(Constants.END_POINT) || Uri.parse(url).getScheme().contains("file")) return false;
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
        startActivity(intent);
        return true;
    }

    @Override
    public void onPageFinished(WebView view, String url)
    {
        super.onPageFinished(view, url);
        layout_progress.setVisibility(View.GONE);
        webview.setVisibility(View.VISIBLE);
    }
});
webview.setWebChromeClient(new WebChromeClient() {
    public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback)
    {
        callback.invoke(origin, true, false);
    }
});

// Attach javascript interface
webview.addJavascriptInterface(new WrapperJSInterface(this, webview), "Wrapper");

// Load index
String index = "/data/data/com.my.wrapper/files/#"
webview.loadUrl("file://" + index);

WebView白いページが読み込まれますが、次のようなエラーがスローされます。

12-01 15:26:47.793: E/Web Console(8931): Uncaught ReferenceError: start is not defined at file:///data/data/com.my.wrapper/files/#/app/feed:1
12-01 15:26:47.808: E/Web Console(8931): Uncaught ReferenceError: addRow is not defined at file:///data/data/com.my.wrapper/files/#/app/feed:2
12-01 15:26:47.808: E/Web Console(8931): Uncaught ReferenceError: addRow is not defined at file:///data/data/com.my.wrapper/files/#/app/feed:3
12-01 15:26:47.808: E/Web Console(8931): Uncaught ReferenceError: addRow is not defined at file:///data/data/com.my.wrapper/files/#/app/feed:4
12-01 15:26:47.808: E/Web Console(8931): Uncaught ReferenceError: addRow is not defined at file:///data/data/com.my.wrapper/files/#/app/feed:5
12-01 15:26:47.808: E/Web Console(8931): Uncaught ReferenceError: addRow is not defined at file:///data/data/com.my.wrapper/files/#/app/feed:6

私が調査したところ、何人かの人々が同じ問題に遭遇したことがわかりました。しかし、私はそれを修正することができませんでした。 http://forum.ionicframework.com/t/uncaught-referenceerror-addrow-is-not-defined/9266

これが役立つ場合、私は決して使用していませんCordova

ご協力いただきありがとうございます。

4

1 に答える 1