这是我的代码:
var j = 0;
var c = 0;
var riepvet = new Array();
function controllo() {
if ((src1 == "") || (src1 == "undefined")) {
alert("Selezionare un'immagine.");
}
else if(j==0) {
riepvet[c] = src1;
c++;
for (var k = 0; k < c; k++) {
alert(riepvet[k]);
}
location.href = "schienale.html";
j++;
}
else if (j==1){
riepvet[c] = src1;
c++;
for (k = 0; k < c; k++) {
alert(riepvet[k]);
}
location.href = "riep.html";
j++;
}
}
我需要的是通过我的程序的所有页面使数字变量j
和c
可用。这是否可以使用cookie(因为它们不是字符串而是数字)?
我已经尝试过使用eval()
,但似乎没有用。
有什么建议吗?
编辑:
Cookies.set('j', 0);
var j = parseInt(Cookies.get('j'));
Cookies.set('imuno');
var imuno = Cookies.get('imuno');
Cookies.set('imdue');
var imdue = Cookies.get('imdue');
function controllo() {
if ((src1 == "") || (src1 == "undefined")) {
alert("Selezionare un'immagine.");
}
else if (j == 0) {
imuno = src1;
Cookies.set('imuno', src1);
alert(imuno);
location.href = "schienale.html";
j++;
Cookies.set('j', 1);
}
else if (j == 1) {
imdue = src1;
Cookies.set('imdue', src1);
alert(imuno,imdue);
location.href = "riep.html";
j++;
Cookies.set('j', 2);
}
}
当我检索函数Controllo()
时,变量j
不会保留该值。
答案 0 :(得分:1)
有很多方法可以实现这一目标。
您可以使用cookies
为要存储的每个键值使用Cookie:
document.cookie = "myCookie=myValue";
document.cookie = "myOtherCookie=myOtherValue";
使用复杂数据的自定义序列化存储单个cookie,例如JSON:
document.cookie = "myCookie=" + JSON.stringify({foo: 'bar', baz: 'bar'});
或
您可以使用localStorage
localStorage.setItem('myvariable', 'myvalue');
答案 1 :(得分:1)
是的,你可以使用cookies,我建议js-cookie。
创建一个cookie:
Cookies.set('name', 'value');
阅读Cookie:
Cookies.get('name'); // => 'value'
您可以将数字存储为字符串,然后在get
之后投射它们,例如:
Cookies.set('j', j); //Set j
j = parseInt( Cookies.get('j') ); //Get j
示例:
Cookies.set('j', 1); //Set j
var j = parseInt( Cookies.get('j') ); //Get j
if( j == 0 ){
alert('Yes j == 0');
}else{
alert('No j == '+j);
}
希望这有帮助。