我正在寻找一种以编程方式动态更改navigator.userAgent的方法.在我尝试获得自动javascript单元测试器失败的尝试中,我放弃并试图开始使用fireunit.我立即猛烈抨击了使用实际浏览器进行javascript测试的一面墙.
具体来说,我需要更改navigator.userAgent来模拟几百个userAgent字符串,以确保对给定函数的正确检测和覆盖.navigator.userAgent只读,所以我好像卡住了!我怎么能模拟navigator.userAgent?用户代理切换器(插件)可以切换FF的useragent,但我可以在javascript中执行吗?
如何在WKWebView中设置自定义的useragent字符串?我正在尝试嵌入我的应用程序版本,以便我的服务器端可以看到可用的功能.我找到了以下方法:
let userAgent = "MyApp/1.33.7"
request.setValue(userAgent, forHTTPHeaderField: "User-Agent")
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) {(response, data, error) in
let content = NSString(data: data, encoding: NSUTF8StringEncoding)
self.web!.loadHTMLString(content!, baseURL: url)
}
self.web!.loadRequest(request);
Run Code Online (Sandbox Code Playgroud)
但这意味着仅为该单个请求设置了useragent.第一个其他请求(例如转发)将意味着再次将useragent重置为默认值.如何更永久地配置wkwebview以使用我的自定义useragent字符串?