Support open link with new tab with M-S

master
Matthew Mingde Zeng 6 years ago
parent fbf6b370f8
commit b76d61d2f4
  1. 16
      core/browser_buffer.py
  2. 7
      core/js/goto_marker.js
  3. 5
      eaf.el

@ -75,9 +75,11 @@ class BrowserBuffer(Buffer):
self._search_text(str(result_content), True)
elif result_type == "jump_link":
self.jump_to_link(str(result_content))
elif result_type == "jump_link_new_tab":
self.jump_to_link(str(result_content), "true")
def cancel_input_message(self, result_type):
if result_type == "jump_link":
if result_type == "jump_link" or result_type == "jump_link_new_tab":
self.cleanup_links()
def search_text_forward(self):
@ -157,13 +159,17 @@ class BrowserBuffer(Buffer):
def get_url(self):
return self.buffer_widget.web_page.executeJavaScript("window.location.href;")
def fetch_links(self):
# self.buffer_widget.web_page.executeJavaScript(self.get_markers_js)
def open_link(self):
self.eval_js(self.get_markers_js);
self.send_input_message("Open Link: ", "jump_link");
def jump_to_link(self, marker):
self.goto_marker_js = self.goto_marker_raw.replace("%1", str(marker));
def open_link_new_tab(self):
self.eval_js(self.get_markers_js);
self.send_input_message("Open Link in New Tab: ", "jump_link_new_tab");
def jump_to_link(self, marker, new_tab = "false"):
self.goto_marker_js = self.goto_marker_raw.replace("%1", str(marker)).replace("%2", new_tab);
print(self.goto_marker_js)
self.buffer_widget.web_page.executeJavaScript(self.goto_marker_js);
self.cleanup_links()

@ -1,5 +1,6 @@
(function() {
let key = "%1";
let newTab = %2;
let markers = document.querySelectorAll('.marker');
let match;
for(let i = 0; i < markers.length; i++) {
@ -12,7 +13,11 @@
let selector = match.getAttribute('pointed-link');
let link = document.querySelector(selector);
if(link.href != undefined){
window.open(link.href, '_self');
if(newTab){
window.open(link.href);
} else {
window.open(link.href, '_self');
}
}else if(link.nodeName.toLowerCase() === 'input'){
if(link.getAttribute('type') === 'text'){
link.focus();

@ -7,7 +7,7 @@
;; Copyright (C) 2018, Andy Stewart, all rights reserved.
;; Created: 2018-06-15 14:10:12
;; Version: 0.5
;; Last-Updated: Sat Dec 28 17:14:09 2019 (-0500)
;; Last-Updated: Sat Dec 28 19:30:54 2019 (-0500)
;; By: Mingde (Matthew) Zeng
;; URL: http://www.emacswiki.org/emacs/download/eaf.el
;; Keywords:
@ -207,7 +207,8 @@ Try not to modify this alist directly. Use `eaf-setq' to modify instead."
("C-v" . "scroll_up_page")
("C-y" . "yank_text")
("C-w" . "kill_text")
("M-s" . "fetch_links")
("M-s" . "open_link")
("M-S" . "open_link_new_tab")
("C-/" . "undo_action")
("M-_" . "redo_action")
("M-w" . "copy_text")

Loading…
Cancel
Save