首页 > 解决方案 > 使用 webview 下载 android instagram 视频

问题描述

我正在尝试使用 webview 下载 Instagram 视频,但它甚至没有检测到我要下载的视频。我尝试使用该代码下载 facebook 视频,它工作得很好,但是对于 instagram,当我单击视频时,我希望它会在单独的页面上打开,但它没有,也无法下载。

下面是我试过的代码:

public void downloader()
    {

        webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView view, String url) {


   /* if (swipeLayout.isRefreshing()) {
                swipeLayout.setRefreshing(false);
            }*/


            webView.loadUrl("javascript:(function() { "
                    + "var el = document.querySelectorAll('div[data-sigil]');"
                    + "for(var i=0;i<el.length; i++)"
                    + "{"
                    + "var sigil = el[i].dataset.sigil;"
                    + "if(sigil.indexOf('inlineVideo') > -1){"
                    + "delete el[i].dataset.sigil;"
                    + "var jsonData = JSON.parse(el[i].dataset.store);"
                    + "el[i].setAttribute('onClick', 'IGDownloader.processVideod(\"'+jsonData['src']+'\");');"
                    + "}" + "}" + "})()");
        }

        @Override
        public void onLoadResource(WebView view, String url) {
            webView.loadUrl("javascript:(function prepareVideo() { "
                    + "var el = document.querySelectorAll('div[data-sigil]');"
                    + "for(var i=0;i<el.length; i++)"
                    + "{"
                    + "var sigil = el[i].dataset.sigil;"
                    + "if(sigil.indexOf('inlineVideo') > -1){"
                    + "delete el[i].dataset.sigil;"
                    + "console.log(i);"
                    + "var jsonData = JSON.parse(el[i].dataset.store);"
                    + "el[i].setAttribute('onClick', 'IGDownloader.processVideod(\"'+jsonData['src']+'\",\"'+jsonData['videoID']+'\");');"
                    + "}" + "}" + "})()");
            webView.loadUrl("javascript:( window.onload=prepareVideo;"
                    + ")()");
        }
    });



}

标签: javaandroidvideoinstagram

解决方案


推荐阅读