में न्यूलाइन का पता लगाने में समस्या मेरे पास कुछ जावास्क्रिप्ट है जो उपयोगकर्ता द्वारा चुने गए उपयोगकर्ता के आधार पर एचटीएमएल का उपयोग करता है। वास्तविक ब्राउज़रों के लिए तरीकों मैं लाभ उठाने "रेंज" वस्तु का उपयोग कर रहा है, इस तरह के रूप में प्राप्त:जावास्क्रिप्ट रेंज ऑब्जेक्ट
var sel = window.getSelection();
var range = sel.getRangeAt(0);
var content = range.toString();
सामग्री चर सभी चयनित पाठ है, जो ठीक काम करता है शामिल हैं। हालांकि मुझे लगता है कि मैं परिणामी स्ट्रिंग में न्यूलाइन का पता नहीं लगा सकता। उदाहरण के लिए:
चयनित लेख है:
एबीसी
डीईएफ़
GHI
range.toString() "abcdefghi" करने के लिए मूल्यांकन करता है।
विशेष वर्णों पर कोई भी खोज \ n \ f \ r या यहां तक कि \ s का कोई उदाहरण नहीं देता है। यदि, हालांकि, मैं एक संपादन योग्य नियंत्रण में परिवर्तनीय लिखता हूं, तो पंक्ति फ़ीड फिर से मौजूद होते हैं।
क्या कोई जानता है कि मुझे क्या याद आ रहा है?
यह प्रासंगिक हो सकता है कि ये चयन और कुशलता संपादन योग्य divs पर हैं। क्रोम, फ़ायरफ़ॉक्स और ओपेरा में वही व्यवहार स्पष्ट है। आश्चर्यजनक रूप से आईई को वैसे भी पूरी तरह से अलग कोड की जरूरत है, लेकिन वहां कोई समस्या नहीं है, इसके अलावा आईई होने के अलावा।
बहुत धन्यवाद।
'range.toString() मूल्यांकन "abcdefghi" से आपका क्या मतलब है? उस मूल्य की जांच करने के लिए आप क्या उपयोग कर रहे हैं? एक डीबगर? चेतावनी()? –
क्या आप संपादन योग्य नियंत्रण या 'range.toString()' के लिए 'श्रेणी' मान लिख रहे हैं? – RaYell
@ डेन डनलप, उपरोक्त सभी, बाहरी डिबगर्स, अलर्ट या ब्राउज़र आधारित डिबगर्स का उपयोग करते हुए। उदाहरण के लिए विजुअल स्टूडियो के साथ ब्रेकपॉइंट में मारना। @RaYell - मैंने अपनी सीमा से उत्पन्न सामग्री लिखने की कोशिश की .toString() एक संपादन योग्य div में कॉल करें, यह साबित करने के लिए कि यह नई लाइन जानकारी को बनाए रखे। पहले जवाब ने इसे दबाया, sel.toString() में नई लाइनें हैं, range.toString() नहीं है। धन्यवाद सभी। – Timbo