Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function getSelectedText()
- {
- function getElementText(el)
- {
- var text = '';
- // Text node (3) or CDATA node (4) - return its text
- if ( (el.nodeType === 3) || (el.nodeType === 4) ) {
- text = el.nodeValue;
- // If node is an element (1) and an img, input[type=image], or area element, return its alt text
- } else if ( (el.nodeType === 1) && (
- (el.tagName.toLowerCase() == 'img') ||
- (el.tagName.toLowerCase() == 'area') ||
- ((el.tagName.toLowerCase() == 'input') && el.getAttribute('type') && (el.getAttribute('type').toLowerCase() == 'image'))
- ) ) {
- text = el.getAttribute('alt') || '';
- // Traverse children unless this is a script or style element
- } else if ( ((el.nodeType === 1) && !el.tagName.match(/^(script|style)$/i)) || (el.nodeType === 11) ) {
- var children = el.childNodes;
- for (var i = 0, l = children.length; i < l; i++) {
- text += getElementText(children[i]);
- }
- }
- return text;
- }
- if (window.getSelection)
- {
- return getElementText(window.getSelection().getRangeAt(0).cloneContents());
- }
- else if (document.selection)
- {
- return document.selection.createRange().text;
- }
- return '';
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement