当前位置: 首页 > article >正文

WKWebView iOS17设置UserAgent

WKWebView 设置 user-agent

参考文档

之前设置 user-agent 都是通过设置NSUserDefaults来实现的,不过升级到了iOS17之后这个方式不好用了。

老的设置方式:

[[NSUserDefaults standardUserDefaults] registerDefaults:dictionnary];

目前看通过设置 webview 里边的 customUserAgent 来实现可以的。不过设置之前最好把原始的给拿出来,把自己想要设置的给加进去。

let configuration:WKWebViewConfiguration = .init()
configuration.allowsInlineMediaPlayback = true
let webView = WKWebView(frame: self.bounds, configuration: configuration)

let oldUserAgent = webView.value(forKey: "userAgent") as? String ?? ""
webView.customUserAgent = "\(oldUserAgent) xxx"

之后自测一下:

webView.loadHTMLString("""
  <!DOCTYPE html>
  <html>
    <body>
      <div id='ua'></div>
      <script>
        setTimeout(()=>{
          let ele = document.getElementById('ua')
          ele.innerHtml = navigator.userAgent
          alert(navigator.userAgent)
        })
      </script>
    </body>
  </html>
  """, baseURL: nil)

http://www.kler.cn/a/104809.html

相关文章:

  • 编写虚拟UART驱动程序-框架
  • 童装服饰小程序商城的效果如何
  • Java SE 学习笔记(十三)—— 日志框架
  • Springboot之拦截器Interceptor
  • asyncio教程
  • 【目标检测】非极大值抑制NMS的原理与实现
  • C/C++输出整数 2020年9月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
  • 记录nvm use node.js版本失败,出现报错: exit status 1: ��û���㹻��Ȩ��ִ�д˲�����
  • 群面的技巧
  • 如何实现两栏布局?这篇文章告诉你所有的细节!
  • influxdb基本使用及其源码解析
  • Ubuntu 安装 npm 和 node
  • RabbitMQ原理(四):MQ的可靠性
  • 【linux】SourceForge 开源软件开发平台和仓库
  • 云游数智农业世界,体验北斗时空智能
  • 什么是web3.0?
  • 基于STM32+物联网设计的货车重量检测系统(OneNet)
  • 如何通过企业培训考试系统实现持续学习和发展
  • RabbitMQ的交换机(原理及代码实现)
  • PPT文档图片设计素材资源下载站模板源码/织梦内核(带用户中心+VIP充值系统+安装教程)