Delphi以前做WebBrowser时(VCL方式)自定义浏览器UserAgent相对来说还是很方便的。在现在的跨平台开发中(FMX)想要自定义UserAgent就不行了,对应的WebBrowser控件已不支持修改默认UserAgent。
然而,我们很多时候还是需要使用到自定义的UserAgent,这里就介绍一下怎么实现安卓下的WebBrowser修改UserAgent。
方法一、简单直接
虽然WebBrowser控件没有直接给出修改或设置UserAgent的方法,但并不是说安卓下的浏览器不能修改UserAgent。安卓下的WEB其实是可以通过WebSettings来设置UserAgent的,只是在delphi处理的时候没有在最终封装的WebBrowser控件中包含。所以最简单的方法就是在对应安卓的代码里修改。
自制一个FMX.WebBrowser.Android.pas文件到项目的根目录下,在TAndroidWebBrowserService创建的事件下增加一行代码:
FWebView.getSettings.setUserAgentString(StringToJString('My UserAgent'));
其中My UserAgent就是自定义的UserAgent内容,然后编译就可以使用了。当然这样的方式有一个缺陷就是定义的UserAgent是固定的,当然也可以再深入修改一下,让他以变量的方式使用,也可以做到简单的在系统中随时修改UserAgent值。
方法二、不修改系统文件的方式。
这种方式是在自己的项目中去查找对应的WebView,他是安卓下WebBrowser自动生成的,其实他就对应上图中的“FWebView”,找到他后,再对其Settings进行处理。
需要对页面的View循环查找,WebView是?com.embarcadero.firemonkey.webbrowser.WebBrowser类中的子View。
相关或类似文章
Delphi WebBrowser设置自己定义User-Agent_tanqth的专栏-CSDN博客_webbrowser 设置useragent我们自己有时候做项目需要使用到WebBrowser控件,同时不希望所访问的服务器知道某些不希望透露的信息,或是想要对服务端发送一些必须的信息时,也就需要对WebBrowser的User-Agent信息作出一些修改。https://tanqin.blog.csdn.net/article/details/107901910这是一个Delphi VCL WebBrowser修改UserAgent的文章
|