diff options
| author | Ricardo Wurmus | 2016-10-25 23:00:35 -0700 |
|---|---|---|
| committer | Paul Eggert | 2016-10-25 23:07:13 -0700 |
| commit | efa269d14685042912cfed96b617d4824a78a1cb (patch) | |
| tree | 79573470b549dc95251f9e0ad6408e70910d2038 | |
| parent | 74576447b969adc430144d9a3ce57b590f2a2dcc (diff) | |
| download | emacs-efa269d14685042912cfed96b617d4824a78a1cb.tar.gz emacs-efa269d14685042912cfed96b617d4824a78a1cb.zip | |
xwidget: Add function to find element by CSS selector
* lisp/xwidget.el (xwidget-webkit-show-element): New procedure.
| -rw-r--r-- | lisp/xwidget.el | 17 |
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." | |||
| 334 | ;;TODO convert linefeed to \n | 334 | ;;TODO convert linefeed to \n |
| 335 | ) | 335 | ) |
| 336 | 336 | ||
| 337 | (defun xwidget-webkit-show-element (xw element-selector) | ||
| 338 | "Make webkit xwidget XW show a named element ELEMENT-SELECTOR. | ||
| 339 | The ELEMENT-SELECTOR must be a valid CSS selector. For example, | ||
| 340 | use this to display an anchor." | ||
| 341 | (interactive (list (xwidget-webkit-current-session) | ||
| 342 | (read-string "Element selector: "))) | ||
| 343 | (xwidget-webkit-execute-script | ||
| 344 | xw | ||
| 345 | (format " | ||
| 346 | (function (query) { | ||
| 347 | var el = document.querySelector(query); | ||
| 348 | if (el !== null) { | ||
| 349 | window.scrollTo(0, el.offsetTop); | ||
| 350 | } | ||
| 351 | })('%s');" | ||
| 352 | element-selector))) | ||
| 353 | |||
| 337 | (defun xwidget-webkit-show-named-element (xw element-name) | 354 | (defun xwidget-webkit-show-named-element (xw element-name) |
| 338 | "Make webkit xwidget XW show a named element ELEMENT-NAME. | 355 | "Make webkit xwidget XW show a named element ELEMENT-NAME. |
| 339 | For example, use this to display an anchor." | 356 | For example, use this to display an anchor." |