diff options
| author | Joakim Verona | 2011-11-03 15:33:48 +0100 |
|---|---|---|
| committer | Joakim Verona | 2011-11-03 15:33:48 +0100 |
| commit | 34deead3a15e4be75c3846363693f3b00c603b02 (patch) | |
| tree | 1f6ed2f1da105048b1761c7ff8a9dfddd6236af3 | |
| parent | fe118e06d872fd1149a273282cb082250346e89f (diff) | |
| download | emacs-34deead3a15e4be75c3846363693f3b00c603b02.tar.gz emacs-34deead3a15e4be75c3846363693f3b00c603b02.zip | |
relative urls actually work for emacswiki! only birefly tested
| -rw-r--r-- | lisp/xwidget.el | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/lisp/xwidget.el b/lisp/xwidget.el index c49b1c6738e..98db11bee8d 100644 --- a/lisp/xwidget.el +++ b/lisp/xwidget.el | |||
| @@ -166,10 +166,10 @@ defaults to the string looking like a url around the cursor position." | |||
| 166 | ) | 166 | ) |
| 167 | 167 | ||
| 168 | ((eq xwidget-event-type 'navigation-policy-decision-requested) | 168 | ((eq xwidget-event-type 'navigation-policy-decision-requested) |
| 169 | (let ((elmname (progn (string-match ".*#\\(.*\\)" strarg)(match-string 1 strarg)))) | 169 | (let ((elmid (progn (string-match ".*#\\(.*\\)" strarg)(match-string 1 strarg)))) |
| 170 | (message "navigation-policy-decision-requested: '%s' %s" strarg elmname ) | 170 | (message "navigation-policy-decision-requested: '%s' %s" strarg elmid ) |
| 171 | 171 | ||
| 172 | (xwidget-webkit-show-named-element xwidget elmname) | 172 | (xwidget-webkit-show-id-element xwidget elmid) |
| 173 | ) | 173 | ) |
| 174 | 174 | ||
| 175 | ) | 175 | ) |
| @@ -275,6 +275,16 @@ Argument STR string." | |||
| 275 | (set-window-vscroll (selected-window) y t)) | 275 | (set-window-vscroll (selected-window) y t)) |
| 276 | ) | 276 | ) |
| 277 | 277 | ||
| 278 | (defun xwidget-webkit-show-id-element (xw element-id) | ||
| 279 | "make id-element show. for instance an anchor." | ||
| 280 | (interactive (list (xwidget-webkit-current-session) (read-string "element id:"))) | ||
| 281 | (let ((y | ||
| 282 | (string-to-number (xwidget-webkit-execute-script-rv xw (format "document.getElementById('%s').getBoundingClientRect().top" element-id) 0)))) | ||
| 283 | ;;now we need to tell emacs to scroll the element into view. | ||
| 284 | (message "scroll: %d" y) | ||
| 285 | (set-window-vscroll (selected-window) y t)) | ||
| 286 | ) | ||
| 287 | |||
| 278 | (defun xwidget-webkit-adjust-size-to-content () | 288 | (defun xwidget-webkit-adjust-size-to-content () |
| 279 | "Adjust webkit to content size." | 289 | "Adjust webkit to content size." |
| 280 | (interactive) | 290 | (interactive) |