WKWebView iOS17设置UserAgent

WKWebView 设置 user-agent

参考文档

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

老的设置方式:

Objective-c 复制代码
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionnary];

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

swift 复制代码
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"

之后自测一下:

swift 复制代码
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)
相关推荐
TheNextByte15 分钟前
如何在 iPad/iPhone 上删除语音邮件?
ios·iphone·ipad
TheNextByte11 小时前
如何修复iPhone短信消失问题?
ios·cocoa·iphone
二流小码农3 小时前
鸿蒙开发:独立开发者的烦恼之icon图标选择
android·ios·harmonyos
智先森zhi3 小时前
实战:将 Android 多Module应用迁移到 kmp+cmp
android·ios·kotlin
TheNextByte15 小时前
如何在没有iTunes的情况下重启/恢复出厂设置iPhone
ios·cocoa·iphone
芝加哥兔兔养殖场7 小时前
前端/iOS开发者必备工具软件合集
前端·ios
TheNextByte18 小时前
如何从 iPhone 仅传输喜爱的照片?
ios·iphone
m0_641031058 小时前
iOS签名是什么?为什么苹果APP需要签名
经验分享·科技·ios·游戏程序
_pengliang9 小时前
react native expo 开发 ios经验总结
react native·react.js·ios
YJlio17 小时前
1.7 通过 Sysinternals Live 在线运行工具:不下载也能用的“云端工具箱”
c语言·网络·python·数码相机·ios·django·iphone