是否有办法从Chrome扩展检索设备名称?
理想情况下,我想得到相同的字符串,显示在新的选项卡页面上的"其他设备"菜单…扩展是否可以使用该信息?
或者,主机名是否可用?
我通过访问window.navigator.userAgent
设法获得的是用户代理,但仅此而已…
No。与用户硬件相关联的持久且唯一的标识符基本上是一个不可删除的cookie。出于隐私原因,浏览器(和浏览器扩展api)不提供这样的标识符。
编辑:来自experimental.systemInfo。你可以构造一些东西来描述用户系统的某些属性。例如,它的独特性不足以保证下拉菜单的唯一性,但它可能是朝着正确方向迈出的一步。请注意,这些api是实验性的,因此您无法通过web store使用它们分发扩展。
是。自从Chrome版本43,发布了一段时间后的问题和其他答案在这里,你可以得到一个唯一的设备ID在Chrome扩展与chrome.instanceID.getID()
。
其他设备菜单中的设备名称(chrome://history/syncedTabs)可以与chrome.sessions.getDevices()
一起找到,但它只包括所有其他设备,而不是当前设备!