//本文用于在userAgent后添加标识字段(dbios/版本号)

前言

H5页面获得的UserAgent都是默认的UserAgent,而不是修改后的UserAgent,原因在于webView会将userAgent替换为默认。

直接在加载webView处更改无效,故而我们在AppDelegate里面的- (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions方法里修改默认的UserAgent。该方法能保证userAgent成功被修改。

正文

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

// Override point for customization after application launch.

//修改userAgent,在后面添加字段

//判断版本号

NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];

// NSString *appCurVersionNum = [infoDictionary objectForKey:@"CFBundleVersion"];

// NSLog(@"当前应用版本号码:%@",appCurVersionNum);

NSString *appCurVersion = [infoDictionary objectForKey:@"CFBundleShortVersionString"];

NSLog(@"当前应用软件版本:%@",appCurVersion);

UIWebView * tempWebView = [[UIWebView alloc] initWithFrame:CGRectZero];

NSString * oldAgent = [tempWebView stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];

NSString * newAgent = oldAgent;

//此处在userAgent后添加加* dbios/版本号*

if (![oldAgent hasSuffix:@" dbios"]) {

newAgent = [oldAgent stringByAppendingString:[NSString stringWithFormat:@" dbios/%@",appCurVersion]];

}

NSLog(@"new agent :%@", newAgent);

NSDictionary * dictionnary = [[NSDictionary alloc] initWithObjectsAndKeys:newAgent, @"UserAgent", nil];

[[NSUserDefaults standardUserDefaults] registerDefaults:dictionnary];

[[NSUserDefaults standardUserDefaults] synchronize];

return YES;

}

Html5判断手机型号,WebView-修改userAgent用于网页端判断手机型号相关推荐

  1. 商城模板网站html5手机端_网站建设中,pc端与手机移动端设计一样吗

    在过去几年中,企业做网站建设基本都是做pc端的网站,原因就是pc端的网页界面显示的更多,可以对企业想要展示的图片进行更合理的布局展示.而这些年,手机逐渐智能化,很多人几乎已经脱离了电脑只使用手机,在这 ...

  2. iOS修改WebView的UserAgent

    前言 客户端界面嵌了 H5,做了混合开发.点击原生的按钮跳到了一个 WebView,再点击 H5 里某个按钮又要可以跳回原生界面.由于 H5 的页面已经在公众号正常运营,需要判断当前打开页面的环境,如 ...

  3. 广讯通服务器修改,手机广讯通修改服务器地址

    手机广讯通修改服务器地址 内容精选 换一换 Atlas 200 DK开发者板支持通过USB端口或者网线与Ubuntu服务器进行连接,连接示例图如图1所示.Atlas 200 DK连接Ubuntu服务器 ...

  4. html手机上怎么修改,怎么用手机修改路由器密码?

    路由器的wifi密码.登录密码,都是在路由器的WEB设置界面中,进行设置和存储的. 所以,要修改路由器的密码,需要登录到路由器的设置界面. 下面鸿哥将给大家详细介绍,用手机登录到路由器设置界面,修改路 ...

  5. 大端和小端的区别,以及如何判断一台机器是大端还是小端?

    如何判断一台机器是大端还是小端 判断方式如下 判断方式如下 采用Little-endian模式的CPU对操作数的存放方式是从低字节到高字节,而Big-endian模式对操作数的存放方式是从高字节到低字 ...

  6. 华为全面屏鸿蒙,华为P50爆出猛料!真全面屏+鸿蒙系统:只专注于高端旗舰手机...

    [11月30日讯]相信大家都知道,华为作为国产手机阵营中的老大哥,无论是在中华酷联时代,还是在华米OV时代,华为都是一个非常有竞争力的手机品牌,尤其是在高端旗舰手机阵营之中,华为更是成为了国产手机阵营 ...

  7. 浏览器伪装成linux,Firefox修改UserAgent伪装为手机浏览器的方法

    有时候我们用PC版的firefox浏览器来调试手机页面,常常遇到无法访问的情况,因为某些网页不允许PC的浏览器访问.所以我们就想到用firefox修改UserAgent,用来伪装为其他手机浏览器,比如 ...

  8. 移动端判断手机横竖屏状态

    禁用用户自动缩放功能: <meta name="viewport" content="width=device-width, initial-scale=1.0, ...

  9. ipv4地址怎么设置 手机_怎样修改手机的ip地址?手机IP地址如何修改

    我们上网时常常会发现一些网站的注册或登录会有IP地址的限定.同一个IP地址往往不能重复某些操作,如果能够修改IP地址就好了.今天,小编就要来和大家分享怎样修改手机IP地址,希望能够帮到大家. 可以自己 ...

  10. android手机应用字体颜色代码,安卓手机字体颜色修改教程

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 先说好哦 我只是搬运而已 没这么强大的技术 反编译framework-res.apk 得到framework-res文件夹! 修改里面的文件, 找到(如何 ...

最新文章

  1. java newsize_JVM中的-Xms -Xmx -XX:newSize -XX:MaxnewSize -Xmn -XX:PermSize -XX:MaxPermSize区别介绍...
  2. 下1000个用户的云计算革命
  3. mysql 设置 table name 表名不区分大小写
  4. javaone_JavaOne 2012:向上,向上和向外:使用Akka扩展软件
  5. WPF绑定资源文件错误(error in binding resource string with a view in wpf)
  6. AD7606实际采样率输出数据量偏小
  7. python爬虫有道词典_Python爬取有道词典,有道的反爬很难吗?也就这样啊!
  8. Linux基础—3.Linux基础命令总结【有图有真相】
  9. 稳定币usda是哪个发行的_usdt稳定币是谁发行的?
  10. 函数式编程可以配合装饰器使用
  11. linux重新初始化mysql 并修改大小写铭感_在Linux(Centos 7)环境下安装Mysql的完整过程...
  12. css栅格布局的四种大小xs,sm,md,lg
  13. gopher协议及ssrf
  14. 支气管炎如何治疗,试试这些食疗方,马上见效!
  15. 关闭微信小程序电脑端的位置定位
  16. 腾讯产品的创新“渐进式”
  17. 自然数拆分 Lunatic版 TYVJ1172(完全背包)
  18. SSM+手机销售网站 毕业设计-附源码161043
  19. 苏南大学计算机专业,江苏苏南五市2015年对口单招计算机专业二调试卷(含答案)20176158115272.doc...
  20. 在word中使用Endnote

热门文章

  1. PHP去除所有的空格
  2. OpenGL超级宝典笔记——纹理映射Mipmap
  3. Create VerifyCode by jsp of java
  4. matlab2015a手册,matlab2015a
  5. 小波神经网络模型matlab,神经网络预测模型优点
  6. FastReport浏览器直接打印无须预览(2023终版)
  7. oracle连接no listener
  8. 【C/C++】使用PDFLIB创建一个带中文的pdf文件
  9. 网上搜集的好看的gif进度条
  10. Android开发实战之——ProgressDialog的使用(一)