我想检测运行我的应用的用户代理,主要是我想查看它是否正在运行:
我运行此代码,作为开始:
var ua = window.navigator.userAgent;
print(ua);
并获得此输出行
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.76 (Dart) Safari/537.36
但实际上我使用DARTIUM运行它,并使用Chrome / FireFox / IE11
任何想法!
答案 0 :(得分:3)
Dartium将自己标识为Chrome,但包含'(Dart)'在用户代理中。
您可以通过检查chrome.runtime.id
来判断您的代码是否作为Chrome扩展程序/应用程序运行,例如:
// You'll likely need to reference this package:
// https://pub.dartlang.org/packages/chrome
if (window.chrome && window.chrome.runtime && window.chrome.runtime.id) {
window.alert('App!');
}
如果您掌控Android应用,可以使用setUserAgentString
调整用户代理,以便您可以在自己的网络应用中对其进行回复:
myWebView.getSettings().setUserAgentString('Danny/1.0 not Chrome or IE or Webkit');
使用其用户代理字符串,其他浏览器应该相对容易。