Единственный обходной путь , о котором я знаю, будет выглядеть примерно так:
Скажем, ваши посещенные ссылки красные:
<a href="#" onclick="someEvent();this.style.color='#ff0000'">link</a>
Но это не значит, что при перезагрузке страницы ссылки по-прежнему отмечены , которые были посещены.
Для достижения этой цели я бы рекомендовал указывать все идентификаторы ссылок, которые, разумеется, уникальны для всего вашего приложения или имеют пространство имен на странице. В вашем onclick
вы вызовете другой метод, который сохраняет идентификатор ссылки в cookie.
Самым простым будет список через запятую, который вы можете split()
перед прочтением. Что вы делаете, когда страница перезагружается. Когда он разделен, вы перебираете все идентификаторы и устанавливаете цвет ссылок.
Например, используя jQuery:
// onclick
function saveID(id) {
if ($.cookie('idCookie')) {
$.cookie('idCookie', $.cookie('idCookie') + "," + id);
} else {
$.cookie('idCookie', id);
}
}
// make all links colored
function setVisted() {
var idArray = $.cookie('idCookie').split(',');
for (var x=0; x<idArray.length; x++) {
$('#' + idArray[x]).css('color', '#ff0000');
}
}
// assign saveID()
$(document).ready(function(){
$('a').click(function(){
saveId($(this).attr('id'));
});
setVisited();
});
Я не тестировал этот код, но он должен помочь вам начать и дать вам идею. Если вам повезет, вы вставите и выиграете . ;-) Я также не исследовал, сколько вы можете хранить в cookie-файлах и как это влияет на производительность, или какие другие ограничения применяются, также смотрите мои комментарии.