JavaScript中如何用cookie保存图片、图片名称?

提问者:那妞丶狠美 提问时间:2018年04月08日 人气:0
用户提问
例:
1、JavaScript中怎么将下面这些保存在cookie中
document.getElementById("img0").src = "images/main_channel_source.png";
document.getElementById("img1").src = "images/main_channel_favourate.png";
document.getElementById("img2").src = "images/main_channel_edit.png";
document.getElementById("img3").src = "images/main_channel_book.png";
document.getElementById("apDiv5").innerHTML = "输入选择";
document.getElementById("apDiv7").innerHTML = "喜好频道列表";
document.getElementById("apDiv9").innerHTML = "频道管理";
document.getElementById("apDiv12").innerHTML = "预约节目管理";
2、这样写为什么报错,如何去掉数字后面的单位"pt"
id0temp1=(parseInt)(id0.style.fontSize);
我的意思是使用cookie存储document.getElementById("img0").src以及document.getElementById("apDiv12").innerHTML,主要目的就是记住当前的图片和文字,因为进入到下一个网页之后,返回时要还原这些图片和文字,而图片和文字是在变化的,不记住的话,返回时就刷新了
推荐答案
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script language = "javaScript">
function writeCookie(value,expiredays){
var exdate=new Date()
value =escape(value);
exdate.setDate(exdate.getDate()+expiredays)
document.cookie = "IMAGESTART" + value + "IMAGEEND";
}
function readCookie(){
if(document.cookie.length>0){
var startIndex = document.cookie.indexOf("IMAGESTART");

var endIndex = document.cookie.indexOf("IMAGEEND");
if(startIndex>0&&endIndex>0){
startIndex += "IMAGESTART".length;
alert(document.cookie.substring(startIndex,endIndex));
}
}
}
</script>
</HEAD>

<BODY>
<script language ="javaScript">
writeCookie("document.getElementById('img0').src = 'images/main_channel_source.png';"+
"document.getElementById('img1').src = 'images/main_channel_favourate.png';"+
"document.getElementById('img2').src = 'images/main_channel_edit.png'; "+
"document.getElementById('img3').src = 'images/main_channel_book.png';"+
"document.getElementById('apDiv5').innerHTML = '输入选择'; "+
"document.getElementById('apDiv7').innerHTML = '喜好频道列表';"+
"document.getElementById('apDiv9').innerHTML = '频道管理';"+
"document.getElementById('apDiv12').innerHTML = '预约节目管理'; "
,365);
readCookie();
</script>
</BODY>
</HTML>
辅助答案
用户:phm_2016
2018年06月02日
1、cookie只能保存字符串,而且有大小限制。
所以,你最好“只”保存图片的名称。

2、id0temp1=(parseInt)(id0.style.fontSize); 是错误的写法,

(parseInt)这样写还真没见过!!!!
应该这样:
parseInt(id0.style.fontSize);

数字后面的pt不用去掉也可,parseInt("12pt") == 12;(JS弱类型使然)
//-----------------------------------------------------------------
给你写的JS操作cookie的API及DEMO
<input type="button" onclick="setCookie('username','godelegant');" value="SetCookie"/>
<input type="button" onclick="alert(getCookie('username'));" value="GetCookie"/>

<script type="text/javascript">
//检查Cookie是否有效

//cookie_name=cookie_val;expires=<过期时间>(分钟);path=<路径>;domain=<域>;satey[安全]
//你可以只传入两个参数cookie_name,cookie_val
function setCookie(cookie_name,cookie_val,ex,path,dm,sa){

if(!navigator.cookieEnabled){
alert('不Cookie项!');
}else{

cookie_val = escape(cookie_val);
var expires = ex!=null?ex:30;
var path = path!=null?path:"/";
var domain = dm!=null?dm:"mydomain.cn";
var satey = sa!=null?sa:":secure";

//构造cookie过期时间
var date=new Date();
date.setTime(date.getTime()+60000*expires);

alert("设置前:"+document.cookie);
document.cookie=cookie_name+'='+cookie_val+';expires='+date.toGMTString()+';path='+path+';domaim='+domain+satey;
alert("设置后:"+document.cookie);

}
}

function getCookie(cookie_name)

{
var allcookies = document.cookie;
var cookie_pos = allcookies.indexOf(cookie_name);

if (cookie_pos != -1)
{
cookie_pos += cookie_name.length + 1;
var cookie_end = allcookies.indexOf(";", cookie_pos);
if (cookie_end == -1)
{
cookie_end = allcookies.length;
}
var value = unescape(allcookies.substring(cookie_pos, cookie_end));
}
return value;
}
</script>
用户:阿穆007
2018年04月18日
一般cookie只能保存文本类型的数据,如果要保存图片的话建议对图片进行base64编码后保存到cookie。或者cookie中保存一下图片的地址,下次从这个地址中下载。
用户:liu009
2018年05月17日
觉得这些东西放cookie里面没有意义啊?
楼主知道cookie应该放些什么吗?