About this Add-on

Link Status Redux shows an indicator on the status bar in front of the link address when the mouse cursor is over a link to a page you have bookmarked or visited before. It can also show the date you last visited the linked page.

The indicator prefixes for visited and bookmarked links are arbitrary, user-configurable text strings. The defaults are a white star (✩, U+2729) for visited links and a place of interest sign (⌘, U+2318) for bookmarked links. Remember a trailing space if you want the indicator separated from the address.

For the displayed visit date, you can choose to prefer visit times that are older than a configurable limit (specified in seconds). This way you can still see the previous visit time even if you happened to accidentally click a visited link. If the limit is non-zero and the link is visited, the latest n visits (configurable, set it to 0 to check all visits) are checked and the latest visit time older than the limit is shown instead. If such a visit time was not found, the very latest time is shown. You can also choose to display both the very latest and the over-the-limit visit times. In this case the latest visit time is always shown and the older visit time is also shown if it a) exists and b) is not equal to the latest visit time.

In Firefox 3.5 or later, you can choose to stop Firefox from rendering visited links differently. To do so, turn on the "Disable visited link styling" option in the add-on preferences. This can prevent a web server from abusing this feature of Firefox to probe which pages you have visited (See bug report). This issue appears to have been fixed in Firefox 4.0 and later and in Seamonkey 2.1 and later.

This add-on is a successor/alternative to the Link Status add-on by fcp, and is based on its code. The main difference is the use of a text prefix instead of an image as the indicator, and that Link Status Redux also works with Firefox version 4 and later. It also works with the Status-4-Evar add-on.

Custom formatting allows expert users to more freely specify the text that is shown when hovering the mouse over a link (the "link target text"). The specification is done with printf-style substitutions, and the following are valid for the link target text: %u (link URL), %T (custom-formatted link latest visit time, see below; empty string if not visited), %t (custom-formatted older visit time, if it exists; empty string if it does not exist), %V (the user-defined visited indicator), %B (the user-defined bookmarked indicator), %% (literal % character). In addition, the following conditional blocks can be used: %+( .. %+) (anything between is displayed only when the link is visited), %-( .. %-) (anything between is displayed only when the link is not visited), %+[ .. %+] (anything between is displayed only when the link is bookmarked), %-[ .. %-] (anything between is displayed only when the link is not bookmarked), %+{ .. %+} (anything between is displayed only when the older visit time %t is defined), %-{ .. %-} (anything between is displayed only when the older visit time %t is not defined).

Developer’s Comments

Some technical notes:

Using just text instead of an additional image icon is far easier to implement and also more robust wrt. other add-ons and future browser versions. However, there is a caveat: the URL is modified by hooking to XULBrowserWindow.setOverLink, which means that the prefix and postfix will be present in XULBrowserWindow.overLink and any add-on expecting to read a valid URL from there will be disappointed. (The original Link Status hooked into the changing of the label text, but that approach is not as portable or as easy to accomplish.)

Status-4-Evar has its own elements and variables for displaying the overlink URL, so it needs explicit support. The problem with this is that S4E needs to be running in order to hook to its setOverLinkInternal function. I couldn't figure out how to force add-on load order, so instead the presence of S4E is polled every second for ten seconds at startup.

The add-on also removes the maximum length limitation of the overlink popup, on the assumption that if you are using this add-on you also want to see as much of the URL as possible. This is a problem if a link is right at the bottom of the page, as the popup starts to bounce from left to right but the link under the popup will be unclickable. The following addition to userChrome.css should (haven't tested it) fix the problem:statuspanel[type=overLink] { max-width: 50%;}

As they would have been incomplete due to the added preference options, I removed the original translations. If you want to make a translation, contact me at jhaATikiDOTfi.

Some links will not show as visited (or bookmarked) due to hurdles with character scaping. Version 2.2 has a workaround for links that contain only lowercase escaped special characters, but that does not cover all cases. Hovering over a bookmark does not have this problem as bookmark links are shown in the original escaped form, whereas links in a web page are shown unescaped for better readability. For version 2.3 I tried to find out whether this could be fixed by hooking to an earlier stage in the call path, but it looks like the original, unprettified URI from the page is not accessible from JavaScript (no caller function defined for XULBrowserWindow.setOverLink), which means that this issue cannot be fixed in the add-on.

Version Information

Version 2.6
Released May 11, 2016
32.5 KiB
Works with
Firefox 3.6 and later, SeaMonkey 2.1 and later