gpt4 book ai didi

android - WebView 的行为不像 Chrome

转载 作者:行者123 更新时间:2023-12-04 00:41:20 27 4
gpt4 key购买 nike

我正在尝试在我的 WebView 中打开一个 TripAdvisor URL,以便用户可以轻松地为我的客户酒店评分。

所以我所做的是在 Phone Chrome 应用程序中打开 TripAdvisor 网站,复制该 URL,然后在 web View loadUrl 方法中使用它。

但似乎 Web View 发出的调用与 Chrome 不同,我的猜测是这并没有告诉服务器这是“Chrome 浏览器”。

因此,如果我在 Chrome 中打开页面,直接点击电子邮件中的超链接,就会得到这个页面:

enter image description here

这正是我所期望的行为。

但如果我在 Web View 中调用相同的 URL,我会得到这个页面:

enter image description here

现在我只使用这段代码来保持它的整洁:

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

但我已经尝试了所有这些,似乎没有什么可以告诉 TripAdvisor 表现得像 Chrome 调用:

webview = (WebView) findViewById(R.id.webView);
webview.setWebViewClient(new WebViewClient());
webview.setWebChromeClient(new WebChromeClient());
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(false);
webview.clearCache(true);
webview.clearHistory();
webview.loadUrl(tValue);

我在我的 iOS 应用程序中执行完全相同的操作,UIWebView 的行为或通知服务器的方式与在 Safari 中进行的调用相同。

有没有办法改变一些 header 或其他东西来告诉服务器我的 WebView 是“Chrome 浏览器”??

提前致谢。

更新 1:

感谢 Dominik K 的回答,我尝试了所有 user agents他建议但仍然没有任何效果。

所以我想到了test the agent两者的区别,实际上它们是不同的,但即使使用使用 Chrome 的那个,也没有令人满意的结果。

我认为这个问题没有好的答案。

enter image description here

enter image description here

最佳答案

我成功了

感谢 Dominic K 的回答和大量测试,我找到了一个不太优雅的解决方案。

目标是像在 iOS 设备中一样查看“发表评论和评分”。

所以最后我将 Android WebView 中的用户代理更改为使用 iOS UIWebView 的用户代理。

Android 中的代码如下所示:

webview = (WebView) findViewById(R.id.webView);
webview.setWebChromeClient(new WebChromeClient());
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setUserAgentString("Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.14 (KHTML, like Gecko) Mobile/12F70");
webview.loadUrl(tValue);

这里有一些结果的屏幕截图:

安卓:

enter image description here

iOS

enter image description here

编码愉快,感谢您的帮助。

关于android - WebView 的行为不像 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30441038/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com