मैंने उपयोगकर्ताओं को एक घटक में टेक्स्ट चुनने की अनुमति देने के लिए एक Google क्रोम एक्सटेंशन बनाया है। यह ज्यादातर साइटों के लिए बहुत अच्छा काम करता है। हालांकि, फेसबुक अपने स्टेटस अपडेट को अलग-अलग संभालता है। ऐसा लगता है कि भले ही आप एक टेक्स्ट बॉक्स में जो भर रहे हैं, वह वास्तव में div > div > span > span
इस टेक्स्ट बॉक्स में प्रत्येक पंक्ति के लिए निर्माण कर रहा है। मुझे नहीं पता कि उन्होंने ऐसा करने का फैसला क्यों किया लेकिन यह टेक्स्ट की कई पंक्तियों को और अधिक जटिल बना देता है।फेसबुक स्थिति अपडेट में एक से अधिक पंक्तियों में फैले वर्णों को प्रतिस्थापित करने के लिए क्रोम एक्सटेंशन का उपयोग करना
क्या फेसबुक स्थिति अपडेट में टेक्स्ट के एकाधिक लाइनों (या कई लाइनों के संगत भाग) का चयन करने और डेटा को प्रतिस्थापित करने का कोई तरीका है?
मेरी कोड के संबंधित भाग इस तरह दिखता है:
function replace_text(language){
let selection = window.getSelection();
string = selection.toString();
/* This section contains code that uses string.replace to replace characters in the string. */
document.execCommand("insertText", false, string);
}
तरह से मेरी कोड अब काम करता है, अगर मैं एक पंक्ति मैं कोई समस्या नहीं पर पाठ की जगह के आधार पर। लेकिन, अगर मैं टेक्स्ट को प्रतिस्थापित करता हूं जो कई लाइनों को फैलाता है तो मैं एक रिक्त अनुपयोगी इनपुट बॉक्स के साथ समाप्त होता हूं। निस्संदेह ऐसा इसलिए है क्योंकि यह एचटीएमएल कोड के हिस्सों को हटा रहा है। मैं अपना कोड कैसे ठीक कर सकता हूं ताकि प्रतिस्थापन प्रक्रिया न केवल अन्य साइटों के लिए बल्कि फेसबुक के लिए भी ठीक से काम करे?
यह आसान नहीं लगता है। आप चयनित पाठ के माता-पिता को यह पता लगाने के लिए निर्धारित कर सकते हैं कि आप किस प्रकार के तत्व में हैं। यह सुनिश्चित नहीं है कि चयन तत्वों को फैलाने पर कैसे काम करेगा। आप ऊपर की ओर काम कर सकते हैं और उस तत्व को ढूंढ सकते हैं जहां आंतरिक टेक्स्ट में किसी भी टैग को छीनने के साथ चयन स्ट्रिंग होती है लेकिन फिर प्रतिस्थापन कठिन होगा क्योंकि ऐसा लगता है कि आपको तत्व संरचना को बरकरार रखना होगा। यदि सब कुछ विफल हो जाता है, तो हो सकता है कि आप अपनी प्रतिस्थापन स्ट्रिंग को काम कर सकें और सभी को हटाने और पाठ को पुन: दर्ज करने के लिए कीप्रेस को अनुकरण कर सकें। क्षमा करें, अगर यह विचारों को ट्रिगर करता है तो बस जोर से सोच रहा है। –