Search code examples
javascripthtmlgoogle-chromegoogle-chrome-extension

Chrome Extension get selected text


I am looking for a way to get the selected text into my Chrome extension.

I want to ex. select a text in facebook feed and when I click my icon it will get it and show the selected text in my Extension.

I got this so far:

chrome.tabs.executeScript(null, {
  code: "alert(window.getSelection().toString());"
})

it gets the selected text and alert it with a message in Chrome. However I want to show it in my html popup. I want to write it out like this:

document.getElementById("output").value = "Selected text here(but how)"

Need help! and I know there is other question about this, but they didn't give me exactly what I want..


Solution

  • You can use the last expression evaluated by the executed code in a callback function:

    chrome.tabs.executeScript( {
      code: "window.getSelection().toString();"
    }, function(selection) {
      document.getElementById("output").value = selection[0];
    });