如何将指纹2结果存储在变量中
How to store fingerprint2 result in a var
我将把指纹2结果存储在一个变量中
var info = {};
new Fingerprint2().get(function(result, components){
info.fingerprint = result;
});
alert(info.fingerprint);
但不能工作有更好的方法吗:
var fp = new Fingerprint2().get();
还是一些增强的方法?
编辑时间:现代&灵活的浏览器指纹库,原始fingerprintjs的继承者http://valve.github.io/fingerprintjs2/
用法:
new Fingerprint2().get(function(result, components){
console.log(result); //a hash, representing your device fingerprint
console.log(components); // an array of FP components
});
您的代码没有按预期工作,因为Fingerprint2().get(...)
是异步的,这意味着alert(info.fingerprint)
将在传递给get
的回调函数完成之前运行。
如果您不了解异步性的概念,要了解为什么这是必要的,请查看演示页面。你会看到它显示了计算指纹需要多长时间。alert
将在调用get
和计算之间运行,因此无法知道指纹是什么。
您唯一可以保证拥有指纹的时间是在回调函数期间。
var info = {};
new Fingerprint2().get(function(result, components) {
info.fingerprint = result;
afterFingerprintIsCalculated();
});
function afterFingerprintIsCalculated() {
alert(info.fingerprint);
}
// BETTER (no global state)
new Fingerprint2().get(function(result, components) {
var info = {
fingerprint: result
};
processFingerprint(info);
});
function processFingerprint(data) {
alert(data.fingerprint);
}
相关文章:
- 使用javascript存储变量的最安全方式
- 如何在Javascript中为不同的页面访问存储变量
- Javascript 会话存储变量未正确保存
- 服务中的角度存储变量
- 在文本字段中显示保存的本地存储变量 - javascript
- 带有本地存储变量的 jQuery 循环不起作用
- 单击“在时间存储变量”按钮,以便在触发 ajaxComplete 事件时使用
- 页面刷新后的 Javascript 存储变量
- 如何存储变量中单击的子项
- 如何获取不同选项卡的实例,以便我可以存储变量/执行特定于各个选项卡的操作
- 如何使用 jquery 使用本地存储变量设置输入字段
- 无法检索本地存储变量
- 显示本地存储变量
- HTML5会话存储:变量未存储在<李>onclick属性
- 在HTML或Javascript中,如何为每个人存储变量
- SeleniumIDE替换存储变量中的字符串
- JQuery设置本地存储变量
- 在服务AngularJS中存储变量
- 如何使用存储变量和随机数与硒ide
- 计算器Javascript/Jquery存储变量