Extensions Highlight: Hyperlink Text Selector

One small feature that I know many old Opera fans have requested is the ability to easily select part of a link's text, without having to highlight the entire thing. Consider this link from my previous blog post:

Opera Add-ons site

Now supposed I wanted to highlight and copy just the Add-ons part, like so:
This was possible in the past but modern Opera does not let you do this out of the box. Instead you need to highlight from the left or right of the entire linked text and edit out the bit you don't want after pasting.

The solution? A small extension called Hyperlink Text Selector. It works as follows: when you hold down Shift you can select parts of a link.

The trick it employs is a clever one, when you hover a link with Shift held it becomes contenteditable. The contenteditable attribute is primarily used for rich text editing in online applications like webmail. However it has an interesting side effect, links are selectable (for editing purposes) rather than clickable.

I should point out a few limitations however:

  • It does not work on some links that have been loaded in dynamically by JavaScript (ironically enough this very post, if you are viewing it featured on the top level of ruario.ghost.io, rather than its full url)
  • It does not work on Opera's internal pages e.g. opera://about, where code injection by extensions is not permitted.
  • You can no longer use Shift and a mouse click to open a link in a foreground window or tab

EDIT 2: Also check my new blog post where I talk about a rival extension with potentially fewer downsides.

In my experience the first two are so rarely a problem, that I almost never notice them. The last may or may not be a problem, depending on your workflow.

EDIT 1: Hyperlink Text Selector is not currently available from the Opera Add-ons site. To install it, use Extension Source Viewer, Download Chrome Extension or use this direct install link. In all cases, you will need to open the "Opera Extensions Manager" (opera://extensions) to complete the installation, since you are installing from a non supported source.

comments powered by Disqus