【发布时间】:2017-03-21 02:22:42
【问题描述】:
在我的应用程序中,知道当前浏览器是否是默认浏览器会非常有用。
可以使用 JavaScript 了解打开我的页面的浏览器是否是默认浏览器(即,如果我要单击另一个应用程序中的链接,将打开的浏览器。例如,电子邮件读者)?
更新
回答E. Sundin和其他可能的读者,我想知道当前浏览器是否是默认浏览器的主要原因是:
当用户在我的一个网站上注册时,我将User-Agent 注册为一个令牌,该令牌在用户注册和用户点击电子邮件验证链接之间不应更改。不幸的是,当用户点击链接时,它会在默认浏览器中打开。
如果我知道,我可以做几件事:
- 不在电子邮件中添加链接,只需要求用户将令牌复制/粘贴到他仍然打开的浏览器中
- 在用户注册时警告用户,如果他只是点击链接将无法正常工作(如果我知道此浏览器不是默认浏览器。)
- 最终忽略该测试(可能是管理员设置,在大多数情况下,网站所有者并不在意...无论如何,大多数人都会这样做...)
当然,人们会在智能手机上注册,在桌面上接收电子邮件并点击那里的链接。这样的测试也不能很好地工作......
【问题讨论】:
-
据我所知,您的应用应该与浏览器和设备无关。
-
出于好奇,这个所需功能的用例是什么?
-
我认为这对任何事情都没有必要,正因为如此,它可能不在标准中,然后浏览器可能会不一样。此外,也不能保证有一种可能的方法来做到这一点,因为浏览器应该至少将一些信息保密。
-
@E.Sundin 我更新了我的问题,因为这作为评论有点太长了。可能还有其他原因,但我给出了我认为它有用的主要示例之一。
-
@MasterBob 我不太确定知道用户是否在他最喜欢的浏览器中是这样的私人信息,不应该泄露。但是在某些情况下,如果您要强制用户在“忘记密码”和“有您的令牌”类型的过程之间使用相同的浏览器,这将有助于提高安全性。一种方法是不在电子邮件中提供 URI……但大多数人习惯于单击 URI……
标签: javascript browser