从单独的应用程序访问Web浏览器开发工具

时间:2018-02-12 23:00:28

标签: browser operating-system google-chrome-devtools microsoft-edge

我有一个程序通过localhost地址在Web浏览器上显示内容。我的程序是跨平台的,我需要知道浏览器在Windows上运行的操作系统,以使我的程序正常运行。我可以通过在浏览器的dev-tools控制台中输入以下命令来做到这一点:

if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";

如何在我的程序中自动执行此操作?我不知道浏览器用户将使用什么,甚至不知道他们将使用什么操作系统。我无法提前知道操作系统是什么原因是因为Windows版本。这是在Windows的Linux子系统上完成的,这意味着用户的浏览器可以在Ubuntu中,或者(更有可能)在Windows中。我需要知道正确保存文件是哪一个。

2 个答案:

答案 0 :(得分:3)

如果我理解正确 - 您基本上正在开发一个在不同浏览器上以不同方式运行的Web应用程序。

您无需使用浏览器的开发工具即可了解当前使用的浏览器。 实际上,有几种方法可以检测用户的浏览器:

  1. 服务器端用户代理 - '用户代理'是一个HTTP标头,指定用户正在使用的浏览器,版本和操作系统。如果您控制服务器应用程序,只需提取此标头并解析它。
  2. 客户端用户代理 - 您可以使用navigator.userAgent属性通过JS检索用户代理字符串。
  3. 浏览器功能 - 请阅读this评论。
  4. 当然,还有其他更复杂的方法可以了解使用哪种浏览器,但我认为您实际上并不需要使用它们,因为用户代理字符串可能就足够了。

答案 1 :(得分:1)

我可以建议你在浏览器上写一个小插件,使识别变得简单容易,你想举个例子吗?