ब्राउज़र में क्रॉस-प्लेटफ़ॉर्म में चयनित टेक्स्ट प्राप्त करना

One of the things I'd like to do in my browser-based application is allow the user to select some text (not in a

I've found a lot of stuff on Google that seems to be focused on writing WYSIWYG editors, but that isn't what I want, and most of it worked in IE but not in FF2 or 3. Ideally, I'd like some function that can return the currently selected text in the browser window that works in IE7 (and 6 if possible), FireFox 2 & 3 and Safari 2. If it works in Opera, that'd be a bonus, but it's not a requirement.

किसी के पास कोई ऐसा कार्य है जो यह करता है? या कहां से शुरू करना है इसका विचार?

0
ro fr bn

5 उत्तर

jQuery और wrapSelection प्लगइन । यह हो सकता है कि आप क्या खोज रहे हैं।

0
जोड़ा

यह कोड सफारी, आईई और फ़ायरफ़ॉक्स में काम करता है - उम्मीद है कि यह कुछ मदद की है

var str = (window.getSelection) ? window.getSelection() : document.selection.createRange();
str = str.text || str;
str = str + '';//the best way to make object a string...
0
जोड़ा

चयन के संबंध में अलग-अलग ब्राउज़रों का व्यवहार यहां उल्लिखित है।

0
जोड़ा

वह jQuery प्लगइन शांत है लेकिन यह एक बहुत ही विशिष्ट कार्य पूरा करता है: टैग के साथ हाइलाइट किए गए पाठ को लपेटें। यह वही हो सकता है जो आप चाहते हैं। लेकिन यदि आप नहीं चाहते हैं (या ऐसी परिस्थिति में हैं जहां आप नहीं कर सकते हैं) अपने पृष्ठ पर कोई बाहरी मार्कअप जोड़ें, तो आप इसके बजाय निम्न समाधान का प्रयास कर सकते हैं:

function getSelectedText() {
  var txt = '';

  if (window.getSelection) {
    txt = window.getSelection();
  }
  else if (document.getSelection) {
    txt = document.getSelection();
  }
  else if (document.selection) {
    txt = document.selection.createRange().text;
  }
  else return; 

  return txt;
}

यह फ़ंक्शन टेक्स्ट चयन का प्रतिनिधित्व करने वाली ऑब्जेक्ट देता है। यह ब्राउज़र में काम करता है (हालांकि मुझे संदेह है कि यह ऑब्जेक्ट्स देता है जो ब्राउज़र के आधार पर थोड़ा अलग होगा और केवल अतिरिक्त गुणों के बजाय परिणाम के वास्तविक पाठ के लिए भरोसेमंद होगा)।

Note: I originally discovered that code fragment here: http://www.codetoad.com/javascript_get_selected_text.asp

0
जोड़ा
आपको toString() पर कॉल करने की आवश्यकता है। getSelection चयन ऑब्जेक्ट वापस करें। क्रोमियम में परीक्षण किया गया।
जोड़ा लेखक jcubic, स्रोत
यह फ़ायरफ़ॉक्स, एज 14 या आईई 11 में इनपुट में काम नहीं करता है।
जोड़ा लेखक Benno, स्रोत

Introduction to Range has some details on how different browsers give you access to the text selection.

मेरा अनुभव यह है कि इन अलग-अलग एपीआई के साथ काम करना काफी बेकार है, इसलिए यदि wrapSelection आपके लिए काम करता है I उसके साथ जाओ।

0
जोड़ा