Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Iframe not loading in webview android

I have a webview. Everything is working fine but when I am opening a page which has iframe, the iframe is not getting visible. Are there any specific settings required?

like image 466
mohan mishra Avatar asked Jan 19 '16 08:01

mohan mishra


3 Answers

If you modify webview configurations and use loadData function to load iframe, some iframes will not work in webview. So for the solution I have implemented AdvancedWebView library.

https://github.com/delight-im/Android-AdvancedWebView

Use loadHtml(URL) method with this webview and you can pass URL in parameter and you will be able to view iframe in webview.

like image 67
apurv thakkar Avatar answered Nov 09 '22 08:11

apurv thakkar


This maybe a too late answer! I hope it will help someone.

Just try to set up a desktop user agent to your webview

String DESKTOP_USER_AGENT = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36";
webView.getSettings().setUserAgentString(DESKTOP_USER_AGENT);
like image 24
abd3llatif Avatar answered Nov 09 '22 07:11

abd3llatif


First add Hardware Acceleration and add the following lines to your webView

webView.setWebChromeClient(new WebChromeClient());

EDIT 1

It will be hard to identify the problem but try adding WebChromeClient, WebViewClient and also don't forget to enable javascript before loading URL like this

webView= (WebView) findViewById(R.id.webview); 
webView.setWebChromeClient(new WebChromeClient()); 
webView.setWebViewClient(new WebViewClient()); 
webView.getSettings().setJavaScriptEnabled(true);

EDIT 2

If you really need to load content of iframe then Try using Jsoup to load html page but you have to find the iframe and fetch the content manually.

Document doc=...
Element iframe1 = doc.select("#iframe1").first();

if (iframe1!=null) {
   Document iframeContent = Jsoup.connect(iframe1.attr("src")).get();

  }

where iframe1 is id of your iframe.

like image 4
Shree Krishna Avatar answered Nov 09 '22 06:11

Shree Krishna