Home > XUL Apps > Text Link

Text Link Ver.6.1.9 for Mozilla Firefox

Note: This page is archived and maintained mainly as a histrical document. Please see the Mozilla Add-ons page and the GitHub repository for latest information.

What's this? ...abstract

This allows URI texts written in webpages to be loaded by double clicks.

Without this extension, when you discover an URI text not linked, like "https://piro.sakura.ne.jp/", you have to do following steps to load the page:

  1. Select the URI text completely. (It may be a hard work if the page is rendered with a propotional font. This operation always chafes me.)
  2. Copy it. (press "Ctrl-C" or use "Copy" from the "Edit" menu)
  3. Paste it to the location bar.
  4. Press "Enter". Then, Firefox loads it.


  1. Select the URI text completely. (It chafes me again!)
  2. Drag the selection string to the tab bar and drop it. Then, Firefox loads it.

With this extension, you can load the URI only following one step:

  1. Double-click on the URI text. Then, Firefox loads it.

I know that the "Linkification" extension provides similar result. My advantages are:

  • URIs which are split in multiple text-nodes, like "http://www.<em>mozilla</em>.org/".
  • URIs written with multi-byte characters. In Japan, an website of a major news uses this rule.
  • This doesn't defile appearance of webpages, because this doesn't modify webpages.

See the testcases. Text Link can recognize all of them completely...maybe.

Download Links to XPI packages

If you see any problem, see FAQ at first. If there is no solution, post a report to the issue tracker on the GitHub please.

Including Language Packs

Version 5.0.x includes following language packs:

  • English (en-US)
  • Japanese (ja-JP)
  • French (Français) (fr-FR, by menet & BlackJack)
  • Slovak (sk-SK, by Gianny111)
  • Chinese (zh-CN, by Carlos Oliveira)
  • Traditional Chinese (zh-TW, by Alan CHENG)
  • Italian (it-IT, by Marco C.)
  • Hungarian (hu-HU, by Mikes Kaszmán István)
  • Turkish (tr-TR, by Anıl Yıldız)
  • German (de-DE, by Michael Baer)

Old versions

Screenshots This works like these screenshots.

Context menu with selection. Text Link detects each link in selection. Partial selected URIs are also collected.

On Thunderbird. Thunderbird's linkification process often fails to detect correct URIs. By Text Link 5.0.x, URIs are linkified more correctly.

There are screenshot of configuration dialog. This extension has two modes. The first is emulation of links. Another is emulation of drag-and-drop to the location bar. This can parse relative pathes and multi-byte characters. But, with these options, this possibly loads wrong text as URI.


Introduction of Text Link (Japanese)
This is an archive of the document introducing this extension, for the XUL contest in the Mozilla.Party.jp 5.0.


There are testcases for Text Link.

Mozilla(http://www.mozilla.org/) started as a project of next generation www-browser of Netscape(http://www.netscape.com/). See http://www.mozilla.org/src-faq.html#1. Mozilla were planned to be released as "Netscape Communicator 5.0", but the new layout engine "NGLayout" ttp://www.mozilla.org/newlayout/gecko.html prevented it. Netscape 6 ttp://ftp.netscape.com/pub/netscape6/ was released after 2 years from the deciding.And now, the Firefox(h**p://www.mozilla.com/firefox/) web browser is released from the Mozilla Corporation(h++p://www.mozilla.com/).

Now, TextLink can parse splitted text nodes as joined texts. Mozilla(http://www.mozilla.org/) started as a project of next generation www-browser of Netscape(http://www.netscape.com/). See http://www.mozilla.org/src-faq.html#1. Mozilla were planned to be released as "Netscape Communicator 5.0", but the new layout engine "NGLayout" ttp://www.mozilla.org/newlayout/gecko.html prevented it. Netscape 6 ttp://ftp.netscape.com/pub/netscape6/ was released after 2 years from the deciding.

There are relative links. Firefox www.mozilla.org/products/firefox/ is a new type www-browser and it very extendable. You can find many extensions from update.mozilla.org. I also release some extensions. TBE ./tabextensions/index.html.en and PopupALT _popupalt.html.en are parts of them. (Text Link ignores relative pathes which includes only a filename like "_popupalt.html.en", because strings with the pattern usually indicates only filenames, not relative pathes.) See the parent page ../xul/xul.html to find other extensions in this website.

There are links including multi-byte characters. The URI of this website is "http://piro.sakura.ne.jp/", but you can use the secondary URI, "ttp://www98.sakura.ne.jp/ ̄piro/" too.

History There is the updating history and the list of known problems.

6.1.9 (2023.3.25)
  • Optimize reaction for modifications of text selections: early termination of DOM traversing on not visually inline container.
6.1.8 (2023.3.24)
  • Optimize reaction for modifications of text selections: early termination of DOM traversing on switching of block level container.
6.1.7 (2023.1.7)
  • Support URL texts separated by virtual inline elements (e.g. URL text including screen name links on Twitter).
  • Optimize performance to check node visibility.
  • Update the list of effective TLDs (based on public suffix list.)
6.1.6 (2021.12.21)
  • Trigger actions with keydown events instead of keyup. This reduces misfirering of Ctrl-Enter by immediately pressed Ctrl-V for a text including URL just after regular Enter.
  • Update the list of effective TLDs (based on public suffix list.)
6.1.5 (2021.11.5)
  • Detect only the single long URI from a selection range on itself, instead of both partial URIs and the long URI, if there are any partial URIs preceding to the selection range.
6.1.4 (2021.11.4)
  • Fix wrong URI detection around context menu commands.
6.1.3 (2021.10.25)
  • Fix non-functioning of the context menu item (by gontazaka, thanks!)
6.1.2 (2020.5.5)
  • Use the public suffix list as the source of known top level domains. URL-like strings including a hostname with a top level domain included in the list are detected as effective URLs now.
  • Fix wrong behaviors of "All Configs" UI: apply imported configs to options UI immediately and treat decimal values as valid for some numeric options.
6.1.1 (2020.6.8)
  • Fix unexpected slow-down of keyboard input in text fields.
6.1.0 (2020.3.10)
  • Fix invisible context menu commands on text selection.
  • Fix broken options page on lately versions Firefox.
  • Drop support for Firefox 63 and older versions.
6.0.3 (2019.8.8)
  • Remove obsolete codes deprecated at Firefox 70.
  • Add ability to export and import all configurations except keyboard shortcuts. (Options => "Development" => "Debug mode" => "All Configs" => "Import/Export")
6.0.2 (2018.7.30)
  • Optimize operations to select detected URIs. In old versions, the operation took too much time on a webpage with too much nodes.
  • Open clicked URI correctly even if the page contents are modified while processing.
  • Synchronize configurations by Firefox Sync.
6.0.1 (2017.11.4)
  • Optimize operations to detect URIs from selection. Now actual ranges are not detected until they are actuall required.
6.0.0 (2017.11.3)
  • Rebuilt on WebExtensions.
  • Drop support for Thunderbird.
  • Works on Nightly 48.0a1.
  • Manages custom preferences under its own namespace.
  • Open all URIs correctly when the menu item "Open ... in Tabs" is selected immediately.
  • Update pl locale (by Piotr Drąg, thanks!)
  • Deactivate context menu items correctly when there is no URI in the selection.
  • Deactivate tooltip on disabled menu items in the context menu.
  • Works correctly on the multi-process mode (E10S).
  • Improved: Add a new locale hy-AM (Armenian), translated by Hrant Ohanyan. Thanks!
  • Fixed: Some odd behaviors around selection range are corrected.
  • Modified: "jar" archive is no longer included.
  • Works on Nightly 20.0a1.
  • Drop support for Firefox 9 and older versions.
  • Improved: For context menu features, now URIs in the selection range are detected progressively. The context menu on web pages are shown quickly.
  • Improved: Add support for URIs with port number.
  • Fixed: Load selected single URI into the current tab correctly.
  • Fixed: Detect URI from selection correctly, for some edge cases.
  • Fixed: Migration of preferences was failed if user had custom values.
  • Improved: IDN recognition can be activated for specific schemes ("http", "https", "ftp", "news", "nntp", "telnet" and "irc" by default).
  • Improved: "data:" URIs can be recognized by default.
  • Fixed: URLs includes inline password (like "user:pass@domain") can be recognized again.
  • Fixed: URIs without valid TLD (about: URIs, chrome: URLs and so on) can be recognized again.
  • Fixed: Context menu items were always hidden on input fields unexpectedly.
  • Fixed: URI detecton was failed when the selection range contains any input field.
  • Fixed: "Open selected URIs in tabs" feature didn't work on Minefield.
  • Works on Minefield 4.0b10pre.
  • Drop support for Firefox 3.0 and older versions.
  • Works on Thunderbird 3.1.
  • Drop support for Thunderbird 2 and older versions.
  • Improved: IDN (Internationalized Domain Names) can be recognized.
  • Fixed: Too slow context menu on web pages with no selection disappeared.
  • German locale is added, by Michael Baer.
  • Improved: Built-in TLD list is updated.
  • Fixed: Keyboard events are ignored except Enter (Return) key.
  • Fixed: Safer code.
  • French locale is updated. (by menet)
  • Turkish locale is updated. (by An娼ナl Y娼ナld娼ナz)
  • Fixed: Open-parenthesis after URI strings are correctly ignored.
  • Fixed: Some links wrongly linkified by Thunderbird are correctly unlinkified.
  • Improved: Works on Thunderbird too.
  • Fixed: URI strings like "URL:http://..." are correctly detected.
  • Updated: zh-TW locale is updated by by Alan CHENG.
  • Optimized.
  • Improved: Works faster on Firefox 3.
  • Fixed: Building process of the tooltip stops correctly after the tooltip was hidden.
  • Fixed: Text nodes in different block-level elements are recognized as split texts.
  • Fixed: Works on Firefox 2 correctly.
  • Fixed: Double-click and other actions for single URI in plain text work correctly.
  • Improved: Less time to show context menu.
  • Fixed: Performance problem on long webpages mostly disappeared.
  • Fixed: URI-like strings out of selections are ignored correctly.
  • Fixed: Works on plain text files correctly.
  • Fixed: Works on pages which have hidden texts.
  • Modified: Both full-width characters "¥u301c" and "¥uff5e" are regarded as "‾".
  • Fixed: Mistake in default rule of URI fixup for domains which start with "www." or "ftp." is corrected.
  • Turkish locale is updated. (by An娼ナl Y娼ナld娼ナz)
  • Fixed: Operations on webpages which have many short text are optimized.
  • Improved: You can open URIs from text fields by the context menu.
  • Fixed: Freezing on GMail disappeared. (URI-like strings in hidden elements, ex. <style> and others, are now ignored.)
  • Fixed: Strings next to <BR> just after URI string are ignored correctly. In old versions, a wrong URI "http://example.com/foobar" was detected from HTML "http://example.com/<BR>foobar".
  • Modified: Preceding invalid characters of an URI string are ignored if parsing of relative path is disabled.
  • French locale is updated. (by menet)
  • Improved: "Copy selected URIs" feature is available.
  • Improved: "Copy clicked URI" is available for clicking on URI strings.
  • Improved: Multiple selections are available on Firefox 3 or later.
  • Improved: All of detected URIs in the selection are shown in a tooltip on context menu items.
  • Fixed: Just URI string is selected when it is clicked. Parenthesis around URIs are never selected.
  • Drop support of Firefox older than Firefox 2.
  • Configuration dialog is totally rewritten for modern Firefox.
  • Improved: New "Reset" button is available to get default settings back.
  • Fixed: Features in the context menu work correctly.
  • French locale is updated. (by BlackJack)
  • Turkish locale is available. (by An娼ナl Y娼ナld娼ナz)
  • Hungarian locale is available. (by Mikes Kaszm将。n Istv将。n)
  • French locale is updated. (by menet)
  • Fixed: Domain names without schemer part are loaded correctly.
  • Fixed: Duplicated URIs are ignored for "Open Selection URIs" feature.
  • Updated: Traditional Chinese locale is updated.
  • Modified: Some obsolete codes are removed.
  • Updated: Italian locale is updated.
  • Fixed: DTD error in Italian locale is fixed.
  • Fixed: Italian locale is detected correctly.
  • Added: Icon for add-on manager is available. (original designed by Marco C.)
  • Added: Italian locale is available. (made by Marco C.)
  • Improved: Multiple actions can be defined.
  • Improved: Works on Minefield.
  • Added: Traditional Chinese locale is available. (made by Alan CHENG)
  • Fixed: Ignores URIs in rich text area like GMail, Google Docs, etc.
  • Added: Chinese locale is available. (made by Carlos Oliveira)
  • Improved: Warning for too many tabs to be opened is supported in Firefox 2.0.
  • Improved: The "tab owner" feauter of Firefox 2.0 is supported.
  • The French language pack is corrected and updated. (by menet)
  • Improved: A new mode, "Select Mode" is available. In this mode, URI strings are only selected, aren't loaded.
  • Fixed: URI strings are correctly selected.
  • Improved: Pressing Enter key loads URI text when a part of URI is highlighted by "Find As You Type" or in the Caret-browsing mode.
  • Fixed: Broken context menu is corrected.
  • Improved: "Open in New Tabs" and other extra features in the context menu always load partly selected URIs too.
  • Fixed: Mis-detection for URIs which are placed after English terms disappeared.
  • Improved: French Language Pack available. (made by menet)
  • Fixed: Mode setting can be loaded/saved correctly.
  • Fixed: URI texts are detected correctly even if both relative pathes and full-width characters are available.
  • Fixed: URIs are loaded into a background tab correctly by your setting.
  • Improved: Wildcards ("*" and "?") are available in the patterns of fixing up broken URIs. Please click "Reset" button in the dialog if you are using a customized pattern.
  • Improved: URIs start with "www" or other patterns without schemer can be recognized. Please click "Reset" button in the dialog if you are using a customized pattern.
  • Improved: URIs including parenthesis ("(" or ")") are recognized more correctly.
  • Improved: The algorithm to convert full-width characters to half-width characters is optimized. (based on implementation written by Taken)
  • Modified: The configuration dialog is restructured.
  • Modified: The default settings are modified.
  • Fixed: An mistake in the English Language Pack disappeared.
  • Fixed: Broken label of an extra menuitem in the context menu for multiple URI texts is corrected.
  • Improved: URI strings start with "h**p" and "h++p" can be recognized.
  • Improved: Some characters not only "," are available to separete values of preference settings.
  • Improved: Modifier keys are available to load clicked URI text.
  • Modified: The setting to change which to load new tabs in in the foreground or the background.
  • Fixed: The large delay of showing the context menu on webpages disappeared.
  • Improved: The size of the searching range for the clicked point can be customizable with a secret setting: "textlink.findrangesize".
  • Improved: Extra menu items for the context menu on web pages are improved.
  • Fixed: Works correctly even if in the loose mode.
  • Fixed: Clicked URI strings are loaded correctly for any case.
  • Improved: Double-clicked URI strings are selected automatically.
  • Fixed: Clicked URI strings are loaded correctly for any case.
  • Fixed: Fatal error for some webpages disappeared.
  • URI strings made from multiple nodes can be parsed as URI strings correctly. The implementation of XUL/Migemo gives me this idea.
  • Modified: Codes to access content area become secure.
  • Improved: URI strings are detected more precisely.
  • Improved: A new feature to open all of URI strings in the selection is available.
  • Fixed: An fatal error about getting chrome URL of the default browser in the lately Firefox disappeared.
  • Fixed: Errors on initializing and closing disappeared.
  • Fixed: Possibility of errors on some webpages (Movable Type 3.0, etc.) disappeared.
  • Improved: New configuration dialog is available.
  • Improved: Multi-byte characters are supported.
  • Fixed: Relative links are parsed more correctly
  • Fixed: Some characters ("(", ")", ".", and ",") are ignored when they are in the start or the end of URL strings.
  • Fixed: Table of schemers fixed up are completely available.
  • Improved: Two options are available instead of the old autocomplete option.
  • Improved: Patterns matching to URIs have been brushed up.
  • Fixed: Checkbox for HTTP_REFERER blocking has worked correctly.
  • Fixed: HTTP_REFERER has been blocked correctly.
  • Released.
Last modified:2023/08/09 16:56:40