Embed Twitter Widget in Android webview

匿名 (未验证) 提交于 2019-12-03 09:02:45

问题:

I am trying to embed a twitter widget into a webview, but it feels like the JS code is not executing. All that is displayed is "Twitter by @xxxxxx"

WebView webView = new WebView(getActivity());  webView.getSettings().setDomStorageEnabled(true); webView.getSettings().setJavaScriptEnabled(true);  webView.setWebViewClient(new WebViewClient() {     public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {         Toast.makeText(getActivity(), "Oh no! " + description, Toast.LENGTH_LONG).show();     } });  String summary = "<a class=\"twitter-timeline\" href=\"https://twitter.com/"+getArguments().getString("handle")+"\" data-widget-id=\""+getArguments().getString("widgetId")+"\">Tweets by @"+getArguments().getString("handle")+"</a><script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+\"://platform.twitter.com/widgets.js\";fjs.parentNode.insertBefore(js,fjs);}}(document,\"script\",\"twitter-wjs\");</script>"; webView.loadData(summary, "text/html", null);  return webView; 

My application does have Intenet access permission

回答1:

I am created dynamic Embed Twitter webview..

Get idea from GooglesGuy... It may be helpful for anyone..

  private void addWebViewTwitter(Object twitterContent){     if(twitterContent!=null && twitterContent.toString().length()>0){         WebView webView=new WebView(this);          webView.setWebChromeClient(new WebChromeClient());         webView.setWebViewClient(new WebViewClient());         webView.getSettings().setAppCacheEnabled(true);         webView.getSettings().setJavaScriptEnabled(true);         //webView.getSettings().setPluginsEnabled(true);          if(Utils.isNetworkAvailable(this)) {               webView.loadDataWithBaseURL("https://twitter.com",twitterContent.toString(), "text/html", "utf-8","");         }      } }  

twitterContent- your Embed twitterhtml content



回答2:

try webView.loadDataWithBaseUrl and set the base url to https://twitter.com



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!