我有一组带有设备ID的设备。右键单击每个设备,它将传递设备ID并在多个选项卡中打开同一页面(在每个选项卡中,在每个右键单击同一页面的新选项卡中),并带有相应的已单击设备详细信息。
在这里,我必须为每个选项卡保留一个不同的标记(随机字符串变量)。并且令牌也不应在页面刷新时更改。 我怎样才能做到这一点 ?我尝试了一些东西,但是没有用。
创建了一个随机字符串,将设备ID附加到其中,并存储为本地存储,
var prToken = window.localStorage.getItem('token');
if(prToken){
var subString = prToken.substring(10, prToken.length);
if(subString == GlobalVar.Inventory.device.id){
console.log(window.localStorage.getItem('token')+"====token");
}else{
var rString = GlobalVar.Inventory.randomString(10, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',GlobalVar.Inventory.device.id);
window.localStorage.setItem('token', rString);
}
}else{
var rString = GlobalVar.Inventory.randomString(10, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',GlobalVar.Inventory.device.id);
window.localStorage.setItem('token', rString);
}
在这里,每个选项卡都获得了不同的令牌,但是问题是,令牌在页面刷新时发生了变化。
需要帮助。
答案 0 :(得分:0)
解决了自己,对我来说很好。
我
用设备ID替换了“令牌”变量
。然后一切正常。 然后代码将是
var prToken = window.localStorage.getItem(GlobalVar.Inventory.device.id);
if(prToken){
var subString = prToken.substring(10, prToken.length);
if(subString == GlobalVar.Inventory.device.id){
console.log(window.localStorage.getItem(GlobalVar.Inventory.device.id)+"====token");
}else{
var rString = GlobalVar.Inventory.randomString(10, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',GlobalVar.Inventory.device.id);
window.localStorage.setItem(GlobalVar.Inventory.device.id, rString);
}
}else{
var rString = GlobalVar.Inventory.randomString(10, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',GlobalVar.Inventory.device.id);
window.localStorage.setItem(GlobalVar.Inventory.device.id, rString);
}