Snapchat Url加载问题

时间:2016-08-05 09:02:27

标签: javascript android webview snapchat

我已在我的Android应用程序中集成了在Snapchat上关注我们,并在我的默认Web视图中显示https://www.snapchat.com/add/danubeco URL。这在Google Chrome中运行良好,但无法在设备的默认浏览器中加载。以下是在Web视图中尝试的错误 - “Uncaught TypeError:Array.from不是函数”,来源:https://www.snapchat.com/deeplink/static/js/sc-web-frame.js。我已经尝试了几个设备并发现了相同,但问题是它在IOS中完全正常。我附上了网页视图的屏幕截图并显示错误。请提出我可以解决问题的方法。

屏幕截图中显示的网址:snapchat:// add / danubeco?sc_referrer =& link =%2Fadd%2Fdanubeco& sc_ua = Mozilla%2F5.0 +%28Linux%3B + Android + 6.0%3B + Android + SDK +内置+为+ 86 +版本%2FMASTER%3B + WV%29 +为AppleWebKit%2F537.36 +%28KHTML%2C +像壁虎+ 29%+版本%2F4.0 +镀铬%2F44.0.2403.119 +手机+的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);

任何形式的帮助都会很明显。

感谢。

enter image description here

1 个答案:

答案 0 :(得分:0)

试试这个没有在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");