创建浏览器指纹

问题描述 投票:3回答:2

我希望为我的网站上的每个用户创建一个浏览器指纹。我通过迭代低谷winow.screen window.navigator对象属性来完成此操作。我将它们复制到一个对象。

问题出在window.navigator.plugins,当我使用JSON.stringify时,我没有得到安装插件的文件名。该属性在那里,但是不使用JSON.stringify进行序列化。

对象就像这个window.navigator.plugins [0]。文件名

如何使用stringify获得所有对象内容?!

javascript
2个回答
1
投票

这将把它变成一个数组,仅从那里提取文件名,然后可以正确地将其字符串化:

[].slice.call(navigator.plugins).map(function(plugin){return plugin.filename})
JSON.stringify([].slice.call(navigator.plugins).map(function(plugin){return plugin.filename}))

1
投票

window.navigator.plugins不是正常的JSON对象。这是包含self值的循环JSON。无法通过String

将其转换为JSON.stringfy()

这里是参考

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Cyclic_object_value

我们可以使用此flattted来转换字符串或解析。

热门问题
推荐问题
最新问题