summaryrefslogtreecommitdiff
path: root/lisp/xwidget.el
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2016-10-25 23:00:35 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2016-10-25 23:07:13 -0700
commitefa269d14685042912cfed96b617d4824a78a1cb (patch)
tree79573470b549dc95251f9e0ad6408e70910d2038 /lisp/xwidget.el
parent74576447b969adc430144d9a3ce57b590f2a2dcc (diff)
downloademacs-efa269d14685042912cfed96b617d4824a78a1cb.tar.gz
xwidget: Add function to find element by CSS selector
* lisp/xwidget.el (xwidget-webkit-show-element): New procedure.
Diffstat (limited to 'lisp/xwidget.el')
-rw-r--r--lisp/xwidget.el17
1 files changed, 17 insertions, 0 deletions
diff --git a/lisp/xwidget.el b/lisp/xwidget.el
index e54d1f80c72..d7ef44d389f 100644
--- a/lisp/xwidget.el
+++ b/lisp/xwidget.el
@@ -334,6 +334,23 @@ XW is the xwidget identifier, TEXT is retrieved from the webkit."
;;TODO convert linefeed to \n
)
+(defun xwidget-webkit-show-element (xw element-selector)
+ "Make webkit xwidget XW show a named element ELEMENT-SELECTOR.
+The ELEMENT-SELECTOR must be a valid CSS selector. For example,
+use this to display an anchor."
+ (interactive (list (xwidget-webkit-current-session)
+ (read-string "Element selector: ")))
+ (xwidget-webkit-execute-script
+ xw
+ (format "
+(function (query) {
+ var el = document.querySelector(query);
+ if (el !== null) {
+ window.scrollTo(0, el.offsetTop);
+ }
+})('%s');"
+ element-selector)))
+
(defun xwidget-webkit-show-named-element (xw element-name)
"Make webkit xwidget XW show a named element ELEMENT-NAME.
For example, use this to display an anchor."