How do you get the device name (or hostname) from

2020-02-11 06:20发布

问题:

Is there a way to retrieve the device name from a Chrome Extension?

Ideally I'd like to get the same String that is displayed in the 'Other devices' menu on the new tab page... Is that piece of information available to extensions?

Alternatively, is the hostname available?

What I managed to get is the user-agent by accessing window.navigator.userAgent, but that's it...

回答1:

No. A persistent and unique identifier associated with the user's hardware would basically be an undeletable cookie. For privacy reasons, browsers (and browser-extension APIs) don't provide such identifiers.

Edit: from experimental.systemInfo.* you might be able to construct something that will describe certain attributes about the user's system. It won't be distinctive enough to guarantee uniqueness in a dropdown menu, for example, but it might be a step in the right direction. Note that these APIs are experimental so you won't be able to distribute extensions using them through the web store.



回答2:

Yes. Since Chrome version 43, released a while after the question and other answer here, you can get a unique device ID in a Chrome extension with chrome.instanceID.getID().

The device names in the Other Devices menu (chrome://history/syncedTabs) can be found with chrome.sessions.getDevices() but it only includes all your other devices, not the current one!