As a note, you'll need to convert the result of getSelection() to a string or else it won't serialize correctly for the sendRequest call. window.getSelection().toString() is probably easiest.
If you want to get access to the selected text in a popup, you'll need to pass it onward from the background page. There's probably a better way to do this, but here's a background page which forwards the message: <html> <head> <script type="text/javascript"> var selection_callbacks = []; function getSelection(callback) { selection_callbacks.push(callback); chrome.tabs.executeScript(null, { file: "contentscript.js" }); }; chrome.extension.onRequest.addListener(function (request) { var callback = selection_callbacks.shift(); callback(request); }); </script> </head> <body> </body> </html> and here's a popup which displays it (it's probably not a great idea to just innerHTML the text, but this is just an example): <html> <head> <script type="text/javascript"> function onSelection(text) { document.getElementById("output").innerHTML = text; } chrome.extension.getBackgroundPage().getSelection(onSelection); </script> </head> <body> <div id="output"> This should be replaced with the selected text </div> </body> </html> The content script is almost identical to Aaron's: chrome.extension.sendRequest(window.getSelection().toString()); ~Arne On Nov 24, 11:08 am, Aaron Boodman <a...@google.com> wrote: > You can setup a content script that does it for you that your popup > communicates with. I do it with three files: > > background.html (register this in your manifest with the background_page key): > ============= > function getSelection() { > chrome.tabs.executeScript(null, // by default, executes in current tab > { file: "content_script.js"}); > > } > > chrome.extension.onRequest.addListener(function(request) { > alert("got selection: " + request); > > }); > > content_script.js > ============ > chrome.extension.sendRequest(window.getSelection()); > > popup.html > ======== > chrome.extension.getBackgroundPage().getSelection(); > > I haven't tested any of this, but I think it should work :) > > - a -- You received this message because you are subscribed to the Google Groups "Chromium-extensions" group. To post to this group, send email to chromium-extensi...@googlegroups.com. To unsubscribe from this group, send email to chromium-extensions+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/chromium-extensions?hl=en.