Merge pull request #300 from usk/feature/open-clipboard's-url
open clipboard's URL in current/new tab
This commit is contained in:
commit
be1f8e4d71
8 changed files with 39 additions and 3 deletions
|
@ -63,6 +63,8 @@ const exec = (operation, repeat, settings) => {
|
|||
type: messages.CONSOLE_SHOW_INFO,
|
||||
text: 'Current url yanked',
|
||||
});
|
||||
case operations.URLS_PASTE:
|
||||
return urls.paste(window, operation.newTab ? operation.newTab : false);
|
||||
default:
|
||||
browser.runtime.sendMessage({
|
||||
type: messages.BACKGROUND_OPERATION,
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import messages from 'shared/messages';
|
||||
|
||||
const yank = (win) => {
|
||||
let input = win.document.createElement('input');
|
||||
win.document.body.append(input);
|
||||
|
@ -12,4 +14,26 @@ const yank = (win) => {
|
|||
input.remove();
|
||||
};
|
||||
|
||||
export { yank };
|
||||
const paste = (win, newTab) => {
|
||||
let textarea = win.document.createElement('textarea');
|
||||
win.document.body.append(textarea);
|
||||
|
||||
textarea.style.position = 'fixed';
|
||||
textarea.style.top = '-100px';
|
||||
textarea.contentEditable = 'true';
|
||||
textarea.focus();
|
||||
|
||||
if (win.document.execCommand('paste')) {
|
||||
if (/^(https?|ftp):\/\//.test(textarea.textContent)) {
|
||||
browser.runtime.sendMessage({
|
||||
type: messages.OPEN_URL,
|
||||
url: textarea.textContent,
|
||||
newTab: newTab ? newTab : false,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
textarea.remove();
|
||||
};
|
||||
|
||||
export { yank, paste };
|
||||
|
|
Reference in a new issue