Сброс посещаемого состояния на ссылках

Два GROUP BY предложения не эквивалентны.

В обоих случаях пункт SELECT:

SELECT
    MAX(id) AS id, 
    SUM(value) AS value, 
    country, 
    cast(TO_CHAR(date, 'dd/mm/yyyy') AS DATE) AS date

Таким образом, столбцы будут (id, value, country, date).

Первые группы запросов по date, затем country:

GROUP BY date, country

Вторые группы по country, затем date:

GROUP BY 3, 4

С различной иерархией GROUP BY вы получите другие результаты, например, то, что вы показываете.

14
задан erlando 20 October 2008 в 09:02
поделиться

10 ответов

Ведите список URL, гостил у метки времени к пользовательской сессии.

, Когда страница ссылки загружается

  • сброс устаревшие URL
  • ссылки стиля, содержавшиеся в списке, как посещается.
0
ответ дан 1 December 2019 в 10:05
поделиться

Это достаточно к, просто форматируют :visited свойство CSS ссылки так, чтобы выглядело, как будто это никогда не нажималось?

я не знаю, хотите ли Вы отслеживать просмотренные ссылки некоторое время или просто отобразить их то же все время; если последний, то простой CSS (как ниже) сделал бы.

a, a:visited {
     color: blue;
     text-decoration: underline
}

a:hover, a:active {
     color: orange;
}

1
ответ дан 1 December 2019 в 10:05
поделиться

Измените целевую страницу, чтобы принять параметр от строки запроса и установить cookie с соответствующим временем жизни к тому значению.

На относящейся странице, помещенной некоторый JavaScript для проверки на существование cookie.

, Если это не существует, имейте JavaScript, добавляет параметр к URL с большим случайным числом в нем (таким образом, история браузера не распознает его.)

, Если это действительно существует, имейте JavaScript, добавляет параметр с тем же значением как cookie (таким образом, история браузера действительно распознает его.)

Примечания:

  • я предполагаю, что цель ссылки находится на том же домене как относящаяся страница. В противном случае используйте страницу перенаправления на том же домене.

  • Это будет только работать, если история браузера будет пока жизнь Вашего cookie. Если будут иметь короткое или никакую историю браузера, то клиент не отобразит его, как посещается.

  • не делайте этого! У Ваших пользователей есть хорошее понимание того, что "посетило", означает. не повреждайте его - Вы только смутите их.

  • необходимо ли рассмотреть решения серверной стороны для людей, которые не запускают JavaScript?

  • я не протестировал этот дизайн.

0
ответ дан 1 December 2019 в 10:05
поделиться

Как проблема просто визуализация Вы не должны волноваться о так или иначе маркировке просмотренных ссылок назад на непосещаемый.

Добавляют onclick обработчик к Вам ссылки, который изменяет стиль ссылок для сходства посещаемого состояния. От этого обработчика Вы можете, например, писать состояние канала в cookie.

Затем можно периодически проверять, существуют ли ссылки, которые не должны больше быть видимы и возвращать стиль к нормальному.

0
ответ дан 1 December 2019 в 10:05
поделиться

Таким образом, Вы просто хотите заставить "посещаемые" ссылки выглядеть по-другому для определенного количества времени? Это легко, если Вы обходите браузер :visited псевдокласс и просто присваиваете пользовательское имя класса. Используйте cookie; у них есть встроенное истечение.

Настроенный обработчик JavaScript для того, когда Вы нажимаете на ссылки. Псевдокод:

function clickHandler(event) {
  var href = /* (figure out which anchor was clicked and get the href) */
  // (you might need to escape the href)

  setCookie(href, "visited", 5); // set cookie for 5 days
}

Это выполнит эту функцию прямо, прежде чем это перейдет по ссылке.

Затем на загрузке страницы, можно сделать что-то вроде этого:

function markVisitedLinks() {
  var anchors = document.getElementsByTagName("a");

  for (var i = 0; i < anchors.length; i++) {
    if (readCookie(anchors[i].href) == "visited") {
      anchors[i].className += " visited";
    }
  }
}

Захват setCookie и функции readCookie от QuirksMode.

6
ответ дан 1 December 2019 в 10:05
поделиться

я чувствую что-то вонючее в самой идее.

то, какова цель сбросить ссылку, посетило состояние? уведомлять, что некоторые новые данные доступны? затем, возможно, что-то более подробное как "НОВОЕ" изображение было бы более соответствующим?

, с другой стороны, если действительно необходимо сделать, это - изменяет URL

6
ответ дан 1 December 2019 в 10:05
поделиться

Ссылки появляются, как "посещается", когда браузер принимает решение применяться :visited псевдокласс .

CSS, клиентский способ сбросить ссылки на непосещаемое состояние состоит в том, чтобы (так или иначе) очистить историю просмотра. Я был бы очень удивлен узнать, что существует портативный способ сделать это. Это также имеет неприятные побочные эффекты, такие как нанесение вреда поведению определяемых предысторией умных адресных панелей, такие как та в Firefox 3.

Как предложенный Drew Noakes, серверная сторона путь состоит в том, чтобы добавить некоторые шумовые параметры запроса к ссылкам и периодически изменять параметр запроса. Это только дает плохое приближение поведения, которое Вы хотите. Для получения "корректного" поведения, необходимо было бы отследить историю посещаемых страниц на пользовательскую серверную сторону, таким образом, можно изменить шумовой параметр для определенной страницы только после необходимого времени.

Все сказали, это - очень, вероятно, плохая идея на самом деле попытаться "сбросить посещаемое состояние на ссылках".

я думаю, что лучшее решение состояло бы в том, чтобы настроить стиль страницы так: посещаемый псевдо класс представляет то же как: псевдокласс ссылки. Затем сохраните историю серверной стороны просмотренных ссылок на пользователя и скорректируйте дисплей ссылок с помощью явного visited класс.

, Если у Вас нет пользовательских идентификационных данных удобными, и не хотеть требовать входа в систему, можно всегда использовать случайный персистентный cookie.

7
ответ дан 1 December 2019 в 10:05
поделиться

Если простое серверное решение с "изменяющимися URL", как:

" http://url1?expire2008_10_20 ", который становится" http://url1?expire2008_10_21 ", после 24 часов,

не в порядке, можно использовать следующее:

Позволяют серверу сохранить cookie на браузере с прошлым посещаемым разом ссылки. Если бы было бы много ссылок, и максимальная длина cookie не была бы достаточно, Вы можете

  1. , хранят сеансовые куки и сохраняют посещаемые данные по серверу
  2. аналог флэш-памяти использования cookie - Локальный общий объект

Также помещает код, который рандомизирует URL для клиента, если прошлый посещаемый раз истекает.

4
ответ дан 1 December 2019 в 10:05
поделиться

Я полагаю, что это - свойство браузера, и таким образом, не управляемый со стороны сервера.

Один 'взлом' мог бы быть должен добавить неиспользованную строку запроса на конце ссылок и повернуть их периодически. Хотя это означает, что длина 'посещаемого' состояния для конкретного клиента зависит от того, когда строка запроса вращается, а не установленный промежуток времени.

2
ответ дан 1 December 2019 в 10:05
поделиться

Изменение, как работа ссылок будет обычно смущать и/или расстраивать Ваших пользователей. Это - верный способ понизить воспринятый удобство использования из Вашего сайта.

, Что Вы действительно пытаетесь выполнить?

, Если у Вас есть подстраницы в Вашем сайте, которые изменяются (указывающий на новое содержание) Ваши пользователи изобразят это . Если у Вас есть новейшая статья от двух или трех уровней глубоко в Вашей структуре страницы, добавьте новые функции и возможности раздел со ссылкой на Вашей основной странице, если это настолько важно. (Или отправьте уведомление со ссылкой в электронном письме, или...)

1
ответ дан 1 December 2019 в 10:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: