我的桌面上保存了一个使用 iFrame 的HTML网页。
iFrame的 src 指向互联网上的某个页面,如下所示:
www.example.com/results.html?id=1&year=1900&month=1&x=1&y=2
我的网页上有一个按钮,可以在点击时更改月份和年份的值。
因此,当月份达到13时,它会变回1并将年份提前1点。否则,它会递增直到达到13。
if (month <= 12) {
month++;
}
if (month == 13) {
month = 1;
year++;
}
很好用,但是当你刷新页面时,变量会回到默认设置为1900和1的任何值。
$.cookie.set('month', month)
document.cookie = NameOfCookie + "=" + month;
我需要cookie来:
使用nextPage()函数更改iFrame的src
function nextPage() {
document.getElementById("main").src="http://www.example.com/results.html?id=1&year=" + year + "&month=" + month + "&x=1&y=2";
}
我不关心过期日期,路径应该只是一个网页,而域名实际上是我硬盘上保存的网页。
答案 0 :(得分:0)
使用函数设计可以更轻松地使用Javascript中的Cookie来读取/写入它们 Peter-Paul Koch在www.quirksmode.org上有一组示例函数。
他们看起来像这样:
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
或者,您可以自己处理document.cookie
,也可以使用Web Storage API来存储数据。 (请注意,旧版浏览器可能不支持Web存储)
您可以测试Web Storage API是否可用,如下所示:
if (window.localStorage) {
// Web Storage is available
} else {
// Web Storage is not available
}
存储内容:
// The first parameter is the name, the second parameter is the value to store
localStorage.setItem("month", "3");
要读回值:
var m = localStorage.getItem("month");
alert("month = " + m);
有关Web存储的详细信息,请参阅Mozilla Developer Network。