发布于2022-01-27 00:12 阅读(725) 评论(0) 点赞(20) 收藏(3)
我正在开发一个示例应用程序,以便能够将简单的 html 数据加载到 webview 中而不会扭曲内容。在我的活动中,我使用 org.apache.http 包连接到网站并在私有方法 openGoogleHomePage() 中检索其内容。
DefaultHttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet("http://www.google.com");
get.setHeader("Content-Type", "application/x-www-form-urlencoded");
get.setHeader("User-Agent","Mozilla/5.0 (Linux; U; Android 2.1-update1; de-de; HTC Desire 1.19.161.5 Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17");
HttpResponse response = client.execute(get);
String data = new BasicResponseHandler().handleResponse(response);
data = data.replaceAll("%", "%");
return data;
当我在 Firefox 浏览器上打开http://www.google.com时将“数据”与实际的 html 内容响应进行比较时,内容是相同的。但是,当我尝试将此“数据”加载到 web 视图中时,我看不到任何类似的东西。
LinearLayout layout = (LinearLayout) View.inflate(this, R.layout.main, null);
setContentView(layout);
WebView browser = (WebView) layout.findViewById(R.id.webPage);
browserSettings = browser.getSettings();
browserSettings.setJavaScriptCanOpenWindowsAutomatically(true);
browserSettings.setJavaScriptEnabled(true);
browserSettings.setSavePassword(false);
browserSettings.setSaveFormData(false);
browserSettings.setSupportZoom(false);
browser.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
});
String htmlData = openGoogleHomePage();
if (htmlData != null) {
browser.loadData(htmlData, "text/html", HTTP.UTF_8);
}
Whatelse 我必须更改我的代码才能在 web 视图中查看,就像我在 PC 上的浏览器中一样?另一方面,无需经历使用 http 包调用 URL 的艰苦过程,而是使用 webview.loadUrl("http://www.gooogle.com") 从 webview 调用 url,当然,检索搜索巨头页面的移动版本,与PC浏览器版本有很大不同。
简而言之,在我的本地自定义代码中处理了 http 调用之后,我想在我的 web 视图中看到我在 PC 浏览器上看到的确切内容。
此外,如果有人可以在处理 url 重定向时显示一些指针,那将有很大帮助。
一些移动设备检测可以基于用户代理。通过向您的 WebView 添加一项设置,尝试将 WebView 中的 UserAgent 设置为使用桌面对应项。
browserSettings.setUserAgentString("Mozilla/5.0");
作者:黑洞官方问答小能手
链接:http://www.qianduanheidong.com/blog/article/296260/27b1270ffd9d62bcd2dd/
来源:前端黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 前端黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-3
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!