2010-06-22 14 views
6

यह सुनिश्चित नहीं है कि यह सभी आधुनिक ब्राउज़रों में संभव है, लेकिन जावास्क्रिप्ट/jquery का उपयोग करके सभी HTML टैग, सीएसएस स्वरूपण, शब्द दस्तावेज़ प्रारूप कोड, ect को हटाने के लिए कोई तरीका है। पाठ की एक स्ट्रिंग से, क्योंकि इसे किसी पृष्ठ के इनपुट क्षेत्र में चिपकाया जा रहा है (मेरे मामले में एक तत्व "संतुष्ट" के रूप में सेट किया गया है, इसलिए यह हमेशा शुद्ध सादे टेक्स्ट के रूप में जाता है?जावास्क्रिप्ट/JQuery के माध्यम से, पाठ स्ट्रिंग से किसी भी एचटीएमएल/स्वरूपण/ect को चिपकाया जा रहा है?

बेशक, इससे पहले कि सफाई/समस्या का प्रतिबंध लगाया भाग, मैं पहली बार के लिए पहले से सुनने और एक पेस्ट घटना से पाठ पर कब्जा है, जो मैं या तो कैसे करना है यकीन नहीं है की एक विश्वसनीय तरीका होना चाहिए।

धन्यवाद!

उत्तर

2

यह एक हैक का उपयोग करना संभव है कि TinyMCE और CKEditor दोनों के वर्तमान संस्करणों का उपयोग करें। मैंने this answer में वर्णित किया है।

0

शायद यह संभव है, लेकिन मैं एक सुरक्षा उपाय के रूप में अव्यवस्थित कहूंगा, क्योंकि किसी भी क्लाइंट साइड कोड को छेड़छाड़ की जा सकती है। आप किसी ऐसे मामले की पूर्ति कैसे करेंगे जहां जावास्क्रिप्ट बंद हो गया था? या कोई फ़ायरबग का उपयोग करते समय आपके पृष्ठ पर पोस्ट कर रहा है डीबगर और सत्यापन पर छोड़ना?

उपयोगकर्ता को तेज़ी से प्रतिक्रिया के लिए ग्राहक पक्ष का उपयोग करें, लेकिन उस पर भरोसा न करें।

वास्तविक कार्य करने के लिए सर्वर साइड सत्यापन और sanitizing का उपयोग करें।

+0

कोड के मुद्दे को छेड़छाड़ करने का मुद्दा वास्तव में इस मामले में एक गैर-मुद्दा है क्योंकि यह पूरी तरह से ज्ञात, भरोसेमंद उपयोगकर्ताओं द्वारा उपयोग की जाने वाली बैक-एंड प्रशासन प्रणाली के लिए है और सार्वजनिक रूप से उपलब्ध नहीं है। सिस्टम में आपको जावास्क्रिप्ट को सक्षम करने के लिए भी सक्षम होना आवश्यक है, जो उस समस्या को हल करता है। और जिस कारण से मैं इसे सर्वर-पक्ष नहीं करना चाहता हूं वह यह है कि मैंने इनपुट इनपुट संपादक को तथ्य (बोल्ड, अंडरलाइन, हाइपरलिंक्स, ect।) के बाद कुछ बुनियादी स्वरूपण करने की अनुमति दी है, इसलिए मुझे कुछ स्वरूपण की अनुमति दें लेकिन दूसरों को अस्वीकार करें, जो गन्दा हो सकता है। –

+0

@ बिल डमी - भरोसेमंद उपयोगकर्ता, जब तक कि कंपनी एप्लिकेशन को खोलने का फैसला नहीं करती, या कंपनी के भीतर एक दुर्भावनापूर्ण उपयोगकर्ता बदनाम हो जाता है। – Oded

+0

सच है, हालांकि मुझे पता है कि यह एप्लिकेशन सार्वजनिक उपयोगकर्ताओं को कभी नहीं खोला जाएगा। और यदि सिस्टम के पास पहुंचने वाला कोई कर्मचारी नकली हो गया है, तो वे संपादक में असंतुलित इनपुट को सहेजने में सक्षम होंगे, हमारी चिंताओं में से कम से कम होगा :- –

2

यह पहले से ही TinyMCE में है इसलिए मैं इसे तैनात करने का सुझाव दूंगा। यह एक jQuery पैकेज के रूप में भी उपलब्ध है और एलजीपीएल के तहत जारी किया गया है, इसलिए इसे वाणिज्यिक परियोजना में इस्तेमाल किया जा सकता है।

पेस्ट से संबंधित कार्यक्षमता के लिए http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste देखें।

+0

यदि TinyMCE प्रोजेक्ट ओपन-सोर्स किया गया है और उसका कोड केवल उस कार्यक्षमता को निकालने के लिए पोर्टेबल है, तो मैं इसका उपयोग करने में सक्षम हो सकता हूं, लेकिन वास्तविक संपादक का उपयोग करने के लिए, यह वास्तव में मेरे लिए एक विकल्प नहीं है, क्योंकि इन इनपुट क्षेत्रों में एक वेबसाइट संपादक का हिस्सा हैं जहां आप अनिवार्य रूप से संतुष्ट क्षेत्रों का उपयोग कर वेबसाइट टेम्पलेट के लेआउट में सीधे संपादन कर रहे हैं, न कि एक पृथक टेक्स्ट एडिटर प्रकार इंटरफ़ेस। –

+0

हां, मेरा उत्तर यही पोस्ट करके है - चाहे आप पूरे ढांचे को प्रयोग योग्य पाते हैं या कस्टम उपयोग के लिए बस इसके हिस्सों को निकालें और ट्विक करें। –