is it possible to get anchor visited state from ja

2020-02-10 10:28发布

  1. i'm using jquery. i have a anchor list. i'm enumerate anchors, if it visited, set display:none;
  2. i need when click on the anchor, anchor will changed to visited state from javascript?

How can i do?

2条回答
我只想做你的唯一
2楼-- · 2020-02-10 10:52

Yeah, see here for an example. It uses getComputedStyle to find out if a link has been visited. There's also a variant of this hack that doesn't require scripting.

The relevant part of the example is this (modified for clarity):

a:visited {
    color: #00f;
}

var link = document.createElement('a');
link.href = 'http://example.com/';
document.body.appendChild(link);
var color = document.defaultView.getComputedStyle(link, null).getPropertyValue('color');       
// check for visited
if (color == "rgb(0, 0, 255)") {           
    alert(link.href + ' has been visited');
}

May I ask what do you need it for?

Edit: WRT #2, you could open the link in an iframe. That would mark it as visited in the browser history. Like so:

var iframe = document.createElement('iframe');
iframe.src = 'http://example.com/';
document.body.appendChild(iframe);

Edit: You can create new CSS rules with JS. There's a jQuery plugin to make it more simple. Basically, you would do it like this:

$.rule('a:visited { color: #f06 !important }').appendTo('style');
查看更多
家丑人穷心不美
3楼-- · 2020-02-10 10:58

How about doing it through CSS?

a:visited {display:none;}
查看更多
登录 后发表回答