我可以在'通配符'链接上使用CSS:visited伪类吗?

时间:2010-03-21 17:11:41

标签: css url css-selectors wildcard visited

假设我有一个包含多个链接的网站,如下所示:

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

我还会不时向链接添加跟踪信息,以便查看我的网站的使用情况,例如,如果有人从产品浏览器访问产品页面,我会设置参数:

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

这个问题是,如果用户访问第一种类型的链接,然后查看第二种类型的链接,那么:visited伪类似乎不适用,因为浏览器似乎只匹配确切的URL 。在这种意义上,是否有任何方法可以将“通配符”应用于链接,以便当用户看到突出显示的第一种类型或第二种类型的链接时?

注意:我无法改变这种“ref”架构;它是遗传的。

3 个答案:

答案 0 :(得分:2)

您可以使用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;">

因此您不必在那里对网址进行两次编码。您甚至可以创建一个函数返回正确的链接,从一个地方获取ref值。

答案 1 :(得分:0)

我很确定答案是'不'。

答案 2 :(得分:0)

如果网址甚至一个字符不同,则网址不同。所以......不。