Javascript 将项目添加到收藏夹,并在返回网站时再次查看它们

Javascript 将项目添加到收藏夹,并在返回网站时再次查看它们,javascript,html,Javascript,Html,我在一家房地产网站工作。我的网站上有很多广告,我需要在每个帖子上创建一个“收藏”或“保存”按钮,将所选帖子保存在特定页面中,供用户稍后阅读 我想使用Cookie或本地存储将用户的收藏夹保存在该计算机上,这将允许用户将项目添加到他们的收藏夹中,并在返回时再次看到它们。不需要帐户 多亏了我的一个朋友,我写了一些代码,但它不能正常工作——我的意思是它没有显示任何结果 非常感谢任何能帮忙的人 这是我目前的代码: 函数createCookie(名称、值、天数){ var expires='', 日期=新

我在一家房地产网站工作。我的网站上有很多广告,我需要在每个帖子上创建一个“收藏”或“保存”按钮,将所选帖子保存在特定页面中,供用户稍后阅读

我想使用Cookie或本地存储将用户的收藏夹保存在该计算机上,这将允许用户将项目添加到他们的收藏夹中,并在返回时再次看到它们。不需要帐户


多亏了我的一个朋友,我写了一些代码,但它不能正常工作——我的意思是它没有显示任何结果

非常感谢任何能帮忙的人

这是我目前的代码:

函数createCookie(名称、值、天数){
var expires='',
日期=新日期();
如果(天){
date.setTime(date.getTime()+(天*24*60*60*1000));
expires=';expires='+date.togmString();
}
document.cookie=name+'='+value+expires+';path=/';
}
/*
*按名称读取cookie。
*在您的情况下,返回值将是一个保存了页面列表的json数组。
*/
函数readCookie(名称){
变量nameEQ=name+'=',
allCookies=document.cookie.split(“;”),
我
曲奇
对于(i=0;i'+value.title+''+
'';
$('#appendfavs')。追加(元素);
});
});


我建议您更喜欢通过本地存储存储收藏夹,如果本地存储不可用,则使用cookies

因此,我根据您的示例实现了一个如何使用本地存储的简短示例

var机会;
var收藏夹;
var存储;
$(文档).ready(函数(){
chance=new chance();//仅用于随机哈希生成
if(window.Storage!=未定义){
存储=window.localStorage;
if(storage.favorites==未定义){
收藏夹=[];
}否则{
favorites=JSON.parse(storage.favorites);
}
updateList();
$('#fav')。单击(函数(){
addFavorite(窗口位置);
updateList();
});
$('#list')。在('click','li a',function()上{
deleteFavorite($(this.data('id'));
updateList();
});
}否则{
//不支持本地存储
//退回到cookie或基于会话的存储
}
});
函数addFavorite(url){
推({
id:chance.hash({
长度:15
}),
url:url
});
storage.setItem('favorites',JSON.stringify(favorites));
}
函数deleteFavorite(id){
用于(收藏夹中的变量i){
if(收藏夹[i].id==id){
接头(i,1);
}
}
storage.setItem('favorites',JSON.stringify(favorites));
}
函数updateList(){
$('#list').empty();
如果(收藏夹类型!==“未定义”&&favorites.length>0){
用于(收藏夹中的变量i){
$('#list')。追加('
  • '+ 收藏夹[i].url.href+ ' ' + '' + “
  • ”); } }否则{ $(“#列表”).append(“
  • 未存储任何内容!
  • ”); } }
    
    

    我可以知道您使用的是什么浏览器吗?因为safari有cookies大小限制。确保你的饼干尺寸不要过大。将其存储在本地存储将是一个好主意。谢谢您的回答。我希望它在任何浏览器google crome、fire fox或IE中都实用,因为这取决于我的网站用户,他们可以使用其中的每一个。如果你能帮助我,我真的很感激,因为这对我来说真的很重要。“我写了一些代码,但它不能正常工作”不是一个问题。请检查并更新您的问题,使其成为实际问题。你好,非常感谢你是个救生员,我现在有个问题。在这种情况下,用户必须填写输入并单击“添加”按钮,我想在收藏夹页面中自动保存页面url或id。例如,我的页面地址如下:如果要存储url,只需将调用
    addFavorite()
    的参数更改为
    window.location
    。对于存储参数,有不同的解决方案,如“谢谢你,我现在检查它”,如果我想在我最喜欢的页面中有一个删除选项,我能做什么?您知道,如果sombody想要删除某些favorit链接,您可以向存储的对象添加一个id,然后筛选该id并将其从列表中删除。今天晚些时候我将更新代码示例以添加deletefunction@user6362236用一个基本版本更新了代码段和JSFIDLE链接,在这个版本中,您可以从