aboutsummaryrefslogtreecommitdiffstats
path: root/linkHints.js
diff options
context:
space:
mode:
authorint32010-04-25 06:23:00 +0800
committerPhil Crosby2010-04-24 14:12:52 -0700
commitf84d189e2dab185f61c2bf7c812de56a25cf4f7e (patch)
tree6dc1ea920dae3c978b3bbf4722713bb229afe5c5 /linkHints.js
parentaa948ff92d772083c346a1390b600c4127b0515d (diff)
downloadvimium-f84d189e2dab185f61c2bf7c812de56a25cf4f7e.tar.bz2
Add link hints support for XHTML
Diffstat (limited to 'linkHints.js')
-rw-r--r--linkHints.js15
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 = [];