-1

Android アプリケーションに Snapchat でフォローしてください。そのために、デフォルトの Web ビューにhttps://www.snapchat.com/add/danubeco URL を表示しています。これは Google Chrome では問題なく動作しますが、デバイスのデフォルト ブラウザではロードできません。これは、Webビューで試行しているエラーです-「キャッチされていないTypeError:Array.fromは関数ではありません」、ソース: https ://www.snapchat.com/deeplink/static/js/sc-web-frame .js . いくつかのデバイスで試してみましたが、同じことがわかりましたが、IOS ではまったく問題なく動作します。エラーのある Web ビューのスクリーンショットを添付しました。問題から対処できる方法を提案してください。

スクリーンショットに表示されている URL - snapchat://add/danubeco?sc_referrer=&link=%2Fadd%2Fdanubeco&sc_ua=Mozilla%2F5.0+%28Linux%3B+Android+6.0%3B+Android+SDK+built+for+x86+ Build%2FMASTER%3B+wv%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Version%2F4.0+Chrome%2F44.0.2403.119+Mobile+Safari%2F537.36&cid=b69e8a19 -adf5-4209-9600-a26c0d5e0485

私は単純に xml で Web ビューを取得し、Java クラスのコードの下に記述しました。

webView = (WebView) root.findViewById(R.id.webView);
webView.setKeepScreenOn(true);
webView.getSettings().setLoadsImagesAutomatically(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setSupportZoom(true);
webView.setWebViewClient(new MyWebClient());
webView.loadUrl(url);

どんな種類の助けもかなりのものです。

ありがとう。

ここに画像の説明を入力

4

1 に答える 1

1

shouldOverrideUrlLoading に URL をロードせずにこれを試して、false の条件を設定してください。これは完璧に機能しています

   WebSettings settings = webview.getSettings();
    settings.setJavaScriptEnabled(true);
    //ws.setJavaScriptEnabled(true);
    settings.setJavaScriptCanOpenWindowsAutomatically(true);
    webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);



webview.setWebViewClient(new WebViewClient() {

        public boolean shouldOverrideUrlLoading(WebView view, String url) {


            if( url.startsWith("http:") || url.startsWith("https:") ) {
                return false;
            }
          //  Log.i(TAG, "Processing webview url click..."+url);
         //  view.loadUrl(url);

            return true;
        }


        public void onPageFinished(WebView view, String url) {
            Log.e(TAG, "Finished loading URL: " + url);
            if (progressBar.isShowing()) {
                progressBar.dismiss();
            }


        }


        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {



        }
    });

    webview.loadUrl("https://www.snapchat.com/add/danubeco");
于 2016-08-05T09:34:44.407 に答える