有没有办法在没有WebViewin活动的情况下检索浏览器的用户代理?
我知道有可能通过WebView以下方式获得:
WebView view = (WebView) findViewById(R.id.someview);
String ua = view.getSettings().getUserAgentString() ;
Run Code Online (Sandbox Code Playgroud)
但在我的情况下,我没有/需要一个webview对象,我不想只是为了检索用户代理字符串而创建它.
我有一个网站,我使用ASP.NET处理程序动态创建Javascript代码,我应该将引用者添加到数据库.
我希望得到推荐人的推荐人:
website1website2 (我在哪里创建像素到另一个网站)website3 (像素所在的位置)我没有代码访问权限website1,website2我只能分配JavaScript.
如果我在当前申请状态下获得推荐人,我会得到website2.
有没有办法获得website1推荐人?
有没有办法从当前访问者检测用户代理?我目前正在开展一个显示视频文件的项目.但对于ipad,iphone/samsung galaxy tab/internet explorer/firefox.我需要显示视频是否有一个可靠的方法来检查哪个浏览器访问我的rails应用程序?
多谢你们!
我正在使用一些JavaScript,并在我的谷歌浏览器中找到了一个奇怪的用户代理.
我的Ubuntu笔记本电脑上安装了Google Chrome 7.0.517.41测试版.现在AFAIK我的用户代理应该接近Chrome/7.0.517.41
但它告诉我:
Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况..我已经禁用了所有已安装的扩展程序,但它仍然是相同的..
如何在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字符串?
我有一个用Django编写的Web应用程序,它有一个特定的页面,我想实现模板的移动版本(和稍微不同的逻辑).我希望能够实现它这个sudo代码:
def(myView)
do some stuff
if user-is-on-a-mobile-device:
do some stuff
return (my mobile template)
else:
do some stuff
return (my normal template)
Run Code Online (Sandbox Code Playgroud)
我没有太多的时间,而且我很早就开始编写我的编码学习曲线:) - 我发现了一个非常强大的可插拔应用程序,名为bloom,用于获取移动设备功能 - http:// code. google.com/p/django-bloom/wiki/BloomDevice 然而它似乎通过JSON发出请求来获取我不需要的大量设备规格,这对我来说似乎有点低效.
有没有人建议更简单的方法?我的检测不需要100%,只需iPhone,iPod,Android和主流设备......
http_user_agent字符串是否有某种我可以检查的移动标记?
对不起,我会亲自测试一下,但我现在没有我的mac.在UIWebView内部发出的Web请求是否发送了与移动Safari发出的Web请求相同的用户代理信息?
我开始使用包"ua-parser"但是创建者太忙而无法保密或提交... npm ua-parser已经过时,需要直接从github下载.有人知道像ua-parser这样的其他优秀软件包已经更新并可以与expressjs一起使用吗?或者有办法处理expressjs?
在实现Apple iOS 13之后,我意识到iPad iOS 13的Safari中的window.navigator.userAgent与MacOS相同。像这样:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Safari/605.1.15
如您所见,这是iPad的错误用户代理,甚至无法检测当前设备是否为iDevice。
经过初步研究,我找到了解决方法:
转到设置-> Safari->请求桌面网站->所有网站。您会注意到默认情况下启用了 “所有网站” 。如果禁用它并获取window.navigator.userAgent,则现在将显示正确的用户代理。
但我不能要求每个用户对每个设备进行此设置更改。因此,我试图找到另一种方法,最后编写了以下代码,检查它是否是Safari,macOS和触摸屏,然后该设备应该是苹果移动设备,但是我想知道是否有更好的建议/方法在Safari iOS 13中检测到正确的设备名称?
detectOs = function(){
//returns OS name, like "mac"
};
//is Safari on an apple touch-screen device
isSafariInIdevice = function(){
if (/Safari[\/\s](\d+\.\d+)/.test(windows.navigator.userAgent)) {
return 'ontouchstart' in window && detectOs() === "mac";
}
return false;
};
Run Code Online (Sandbox Code Playgroud) 我刚刚从PHP切换到Ruby on Rails,并想知道是否有办法检测客户端设备/用户代理(读取HTTP头),以便根据它获得的请求提供不同版本的站点.在PHP中,我一直在使用Mobile Detect这样做.一般的想法是仅提供每个特定版本所需的文件.这就是为什么客户端方法不那么有效.
有没有办法用Ruby 2.0.0和Rails 4.0.0做类似的事情?
也许有一个宝石来处理这样的案件?