diff options
| author | int3 | 2010-04-25 06:23:00 +0800 |
|---|---|---|
| committer | Phil Crosby | 2010-04-24 14:12:52 -0700 |
| commit | f84d189e2dab185f61c2bf7c812de56a25cf4f7e (patch) | |
| tree | 6dc1ea920dae3c978b3bbf4722713bb229afe5c5 /linkHints.js | |
| parent | aa948ff92d772083c346a1390b600c4127b0515d (diff) | |
| download | vimium-f84d189e2dab185f61c2bf7c812de56a25cf4f7e.tar.bz2 | |
Add link hints support for XHTML
Diffstat (limited to 'linkHints.js')
| -rw-r--r-- | linkHints.js | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/linkHints.js b/linkHints.js index 6c4fb3d0..d2acb837 100644 --- a/linkHints.js +++ b/linkHints.js @@ -16,9 +16,13 @@ var shouldOpenLinkHintInNewTab = false; // Whether we have added to the page the CSS needed to display link hints. var linkHintsCssAdded = false; -// An XPath describing what a clickable element is. We could also look for images with an onclick -// attribute, but let's wait to see if that really is necessary. -var clickableElementsXPath = "//a | //textarea | //button | //select | //input[not(@type='hidden')] | //*[@onclick]"; +// Generate an XPath describing what a clickable element is. +var clickableElements = ["a", "textarea", "button", "select", "input[not(@type='hidden')]"]; +var clickableElementsXPath = ""; +for (var i in clickableElements) { + clickableElementsXPath += "//" + clickableElements[i] + " | " + "//xhtml:" + clickableElements[i] + " | "; +} +clickableElementsXPath += "//*[@onclick]"; // We need this as a top-level function because our command system doesn't yet support arguments. function activateLinkHintsModeToOpenInNewTab() { activateLinkHintsMode(true); } @@ -66,7 +70,10 @@ function logXOfBase(x, base) { return Math.log(x) / Math.log(base); } * of digits needed to enumerate all of the links on screen. */ function getVisibleClickableElements() { - var resultSet = document.evaluate(clickableElementsXPath, document.body, null, + var resultSet = document.evaluate(clickableElementsXPath, document.body, + function (namespace) { + return namespace == "xhtml" ? "http://www.w3.org/1999/xhtml" : null; + }, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); var visibleElements = []; |
