Могу ли я использовать псевдо-класс CSS: посещения в ссылках с подстановочными знаками?

Допустим, у меня есть сайт с несколькими ссылками следующим образом:

www.example.com/product/1
www.example.com/product/2
www.example.com/product/3

Я также время от времени добавляю информацию об отслеживании в ссылки, чтобы видеть, как используется мой сайт, например, если кто-то посещает страницу продуктов из браузера продуктов, я бы установил параметр ref:

www.example.com/product/1&ref=pb
www.example.com/product/2&ref=pb
www.example.com/product/3&ref=pb

Проблема заключается в том, что если пользователь посещает ссылку первого типа, а затем просматривает ссылку второго типа, то псевдо-класс:visit, кажется, не применяется, потому что браузер, кажется, соответствует только точным URL-адресам. Есть ли какой-либо способ применения "подстановочных знаков" к ссылкам в этом смысле, чтобы, когда пользователь видит ссылку первого или второго типа, она выделялась?

Примечание: я не могу изменить эту архитектуру "ref"; это наследуется.

3 ответа

Решение

Возможно, вы сможете сделать это с помощью JavaScript. Вы можете кодировать свои ссылки следующим образом

<a href="www.example.com/product/1" onclick="document.location.href='www.example.com/product/1&ref=ab';return false;">

Для любого, у кого включен JavaScript, вы увидите страницу www.example.com/product/1&ref=ab, и его браузер обнаружит все ссылки с href=www.example.com/product/1 в качестве одной и той же ссылки. И стилизовать их соответствующим образом в соответствии с: Посещенный псевдокласс. Единственным недостатком является то, что вы не получите справочную информацию для тех, у кого нет Javascript. Является ли это приемлемым компромиссом или нет, зависит от ваших требований.

Вы также можете сделать что-то вроде:

<a href="www.example.com/product/1" onclick="document.location.href=this.href + '&ref=ab';return false;">

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

Если URL-адрес меняется даже на один символ, это не тот же URL-адрес. Так что... нет.

Я почти уверен, что ответ "нет".

Другие вопросы по тегам