Javascript和传递Cookies问题
我正在编写一个脚本,它获取div容器的垂直滚动位置,在文档卸载时,它将垂直位置存储在cookie中,然后在加载时加载 最初我有以下几点:Javascript和传递Cookies问题,javascript,php,jquery,html,cookies,Javascript,Php,Jquery,Html,Cookies,我正在编写一个脚本,它获取div容器的垂直滚动位置,在文档卸载时,它将垂直位置存储在cookie中,然后在加载时加载 最初我有以下几点: $('#GridViewContainer').load('claims.php', function() { $(this).scrollTop($(this).prop("scrollHeight") - $(this).height()); }); 如果刷新页面,这是可以的,但是如果使用参数重新加载页面,它将丢失其位置。解决
$('#GridViewContainer').load('claims.php', function() {
$(this).scrollTop($(this).prop("scrollHeight") - $(this).height());
});
如果刷新页面,这是可以的,但是如果使用参数重新加载页面,它将丢失其位置。解决方案把它储存在饼干里
但是,我在存储值和加载时遇到问题。我正在使用php返回所有当前cookie,我可以看到我正在设置cookie“div_yCookie”,但内容似乎是:'div_yCookie'=>字符串'[object]'(长度=15) (我是一个完整的Javascript和jQuery新手……毫无疑问这是显而易见的,但有人能帮我吗
<script>
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).ready(function () {
$('#GridViewContainer').load('claims.php', function() {
var x = readCookie('div_yCookie');
$(this).scrollTop($(this).prop("scrollHeight") - x);
//$(this).scrollTop($(this).prop("scrollHeight") - $(this).height());
});
});
window.onbeforeunload = function(){
var div_y = $('#GridViewContainer').scrollTop($('#GridViewContainer').prop("scrollHeight") - $('#GridViewContainer').height());
createCookie('div_yCookie',div_y,0.5);
};
</script>
函数createCookie(名称、值、天数){
如果(天){
变量日期=新日期();
date.setTime(date.getTime()+(天*24*60*60*1000));
var expires=“;expires=“+date.togmString();
}
else var expires=“”;
document.cookie=name+“=”+value+expires+“path=/”;
}
函数readCookie(名称){
变量nameEQ=name+“=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i
更新
事实证明,当你刷新页面时,它实际上可以工作,但是当你重新加载页面时,它仍然不能工作