[Project_owners] How to get selected text (Solved it)

Jaap A. Haitsma jaap at haitsma.org
Sun Mar 14 16:14:23 EST 2004


Biju G C wrote:
>  --- "Jaap A. Haitsma" <jaap at haitsma.org> wrote: > Hi,
> 
>>I'm trying to obtain the text that is selected. If text is selected in a 
>>web page (in Firefox) or in a message (in Thunderbird) I can obtain the 
>>text very easily by calling gContextMenu.searchSelected(). However if 
>>the selected text is inside a <textarea> or <input> tag (Firefox) or in 
>>the message composer (Thunderbird) I don't manage to get the selected text.
>>
>>I've been looking in the mozilla cross reference 
>>http://lxr.mozilla.org/mozilla/ for quite a while to try to figure out 
>>how the command copy works (because that is available at the points I 
>>want to get the selection), but sofar I'm still not able to get it 
>>working. :(
> 
> 
Somebody at mozillazine forums pointed me at the text/plain extension
which does what I wanted. See http://mozilla.durys.net/textplain/

The relevant part of the code to get the selection is this part
----------------------------------------------
var node = document.popupNode;

var selection = "";

var nodeLocalName = node.localName.toUpperCase();

if ((nodeLocalName == "TEXTAREA") ||
     (nodeLocalName == "INPUT" && node.type == "text")) {

     selection = node.value.substring(node.selectionStart, 
node.selectionEnd);

}

else {
     var focusedWindow = document.commandDispatcher.focusedWindow;

     selection = 
focusedWindow.__proto__.getSelection.call(focusedWindow).toString();

}

selection = selection.toString();

--------------------------------------
The first part gets the selection from a <textarea> or <input> tag
The second part picks up the text if you selected something in a web 
page or in the message pane and even the message composer of 
thunderbird. So this solves everything.

The code in text/plain also picks up values from <select> statements but 
I do not see that to be very useful. As a reference I installed the 
relevant js file of text/plain

Jaap
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TextPlain.js
Type: application/x-javascript
Size: 7478 bytes
Desc: not available
Url : http://mozdev.org/pipermail/project_owners/attachments/20040314/61ec037e/TextPlain.js


More information about the Project_owners mailing list