Jquery: помечать ссылки как посещенные, не открывая их? - PullRequest
3 голосов
/ 24 декабря 2009

У меня нет намерения просто изменять ссылку (я слышал, что это невозможно, но если это не так, я бы хотел знать, как) Я в порядке, добавив его в историю браузера, если это нужно сделать.

Я бы хотел просмотреть все <a> на странице и изменить их состояние на посещенное. Например:

$("a").each(function(){
   //mark as visited (somehow?)
});

По сути, создать кнопку «Пометить все как прочитанное» на моей странице. Есть идеи?

Ответы [ 3 ]

3 голосов
/ 24 декабря 2009

Создайте посещаемую ссылку (т. Е. Установите ее href в window.location) и установите для каждого из стилей ваших целевых ссылок равный вычисляемому стилю этой вновь созданной ссылки.

2 голосов
/ 24 декабря 2009

Ты мог бы ...

1) Попробуйте использовать AJAX (т. Е. $ .Get (a.href)), но я не знаю, сработает ли это на самом деле.

2) Попробуйте стилизовать ссылки, чтобы они выглядели посещенными (изменив их CSS-атрибут «color»), хотя на самом деле этот подход не приведет их к посещенным ссылкам

3) Если ни одна из этих работ, вы можете попробовать сделать что-то вроде:

3А) Создайте скрытую рамку на странице

3B) Добавьте целевой атрибут к каждому тегу A на странице, чтобы они указывали на скрытый IFRAME

3C) Вызвать $ ("a"). Click () внутри каждого цикла (возможно, с некоторой задержкой между ними, чтобы дать странице время для загрузки)

Если ничего из этого не сработает, думаю, вам не повезло.

0 голосов
/ 24 декабря 2009

Это не совсем так, как вы хотите, однако вы можете скопировать CSS-атрибуты a: посещения в новый класс с именем «посещение» или любым другим способом и затем применить их к нужным ссылкам.

$('a').addClass('visited');
...