|
|
|
@ -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 }; |
|
|
|
|