прежде всего добро пожаловать в StackOverflow
На ваш вопрос, вы даже можете использовать localStorage
для этого нет? Нет смысла использовать только Cookies, но все, что вам нужно сделать, это:
- для каждой перезагрузки страницы, добавьте эту страницу в массив
- , если вы хотите получить это значение прочитав массив
со временем, вы захотите добавить еще пару вещей
- хранить только последние 10 посещенных страниц (так что вы не получите 100 ссылок)
- не повторять страницы
добавление к localStorage
немного проще, чем куки, как вы можете просто сделать window.localStorage.setItem(key, payload)
. ..
и вы прочитали бы var links = window.localStorage.getItem(key)
помните , что, как и файлы cookie, вам нужно сохранить как строку, выполнение .setItem('links', { a: 1 })
приведет к окончательному сохранению [Object Object]
если у вас есть что-то вроде:
var linksStorage = {
KEY: 'visitedLinks',
get: () => {
var allLinks = window.localStorage.getItem(this.KEY)
return JSON.parse(allLinks || '[]') // parse string or start with empty array
},
savePage: () => {
var allLinks = this.localStorage.get() // get all existing links
allLinks.push({ // append this page info
id: window.location.query,
page: window.location.pathname
})
window.localStorage.setItem(
this.KEY, JSON.stringify(allLinks)) // save back
}
}
, то просто:
window.linksStorage.savePage()
добавит текущую страницу в список, и когда вам нужно прочитать:
window.linksStorage.get()
выдаст вам список в виде объекта Array
Добавляется после комментариев
var writeCookies = () => {
var allCookies = window.document.cookie.split('; ') // split them all
document.write("<ul>")
allCookies.forEach(c => { // for each cookie
var info = c.split('=') // name and value
document.write(`<li><b>${info[0]}</b> -> ${info[1]}`)
})
document.write("</ul>")
}
и выполняется как writeCookies()