Advertisement
Guest User

Untitled

a guest
Jul 20th, 2015
293
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function getSelectedText()
  2. {
  3.     function getElementText(el)
  4.     {
  5.         var text = '';
  6.         // Text node (3) or CDATA node (4) - return its text
  7.         if ( (el.nodeType === 3) || (el.nodeType === 4) ) {
  8.             text = el.nodeValue;
  9.         // If node is an element (1) and an img, input[type=image], or area element, return its alt text
  10.         } else if ( (el.nodeType === 1) && (
  11.                 (el.tagName.toLowerCase() == 'img') ||
  12.                 (el.tagName.toLowerCase() == 'area') ||
  13.                 ((el.tagName.toLowerCase() == 'input') && el.getAttribute('type') && (el.getAttribute('type').toLowerCase() == 'image'))
  14.                 ) ) {
  15.             text = el.getAttribute('alt') || '';
  16.         // Traverse children unless this is a script or style element
  17.         } else if ( ((el.nodeType === 1) && !el.tagName.match(/^(script|style)$/i)) || (el.nodeType === 11) ) {
  18.             var children = el.childNodes;
  19.             for (var i = 0, l = children.length; i < l; i++) {
  20.                 text += getElementText(children[i]);
  21.             }
  22.         }
  23.         return text;
  24.     }
  25.  
  26.     if (window.getSelection)
  27.     {
  28.         return getElementText(window.getSelection().getRangeAt(0).cloneContents());
  29.     }
  30.     else if (document.selection)
  31.     {
  32.         return document.selection.createRange().text;
  33.     }
  34.     return '';
  35. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement