forked from spencerslickremix/Slick-Personal-Assistant
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontent.js
More file actions
18 lines (17 loc) · 919 Bytes
/
content.js
File metadata and controls
18 lines (17 loc) · 919 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
chrome.runtime.onConnect.addListener((port) => {
if (port.name === "replaceSelectedText") {
port.onMessage.addListener((request) => {
if (request.action === 'replaceSelectedText') {
const selectedText = window.getSelection();
const activeElement = document.activeElement;
if (activeElement.tagName.toLowerCase() === 'textarea' && selectedText.toString().length > 0) {
const newText = activeElement.value.substring(0, activeElement.selectionStart) + request.replacementText + activeElement.value.substring(activeElement.selectionEnd);
activeElement.value = newText;
port.postMessage({ success: true });
} else {
port.postMessage({ success: false, message: 'No text is selected in a textarea.' });
}
}
});
}
});