डेवलपर टूल · HTML WYSIWYG एडिटर
क्लिपबोर्ड पर समृद्ध पाठ: अनुप्रयोगों के बीच फ़ॉर्मेटिंग कैसे चलती है
· पेजभूमि
HTML क्लिपबोर्ड संतोषप्रद
एक रिच-टेक्स्ट कॉपी को क्लिपबोर्ड पर रखने वाले कई प्रारूपों की व्याख्या करता है, प्रत्येक एप्लिकेशन एक को कैसे चुनता है, और क्यों चिपकाया गया मार्कअप कभी भी वैसा नहीं होता जैसा कॉपी किया गया था।
एक ही कॉपी, तीन अलग-अलग पेस्ट - एक ब्राउज़र, एक टर्मिनल और एक मेल क्लाइंट में पेस्ट की गई सामग्री के साथ खुलता है
एक कॉपी किया गया पैराग्राफ ब्राउज़र एडिटर में स्वरूपित सामग्री और टर्मिनल में अस्वरूपित वर्णों के रूप में आ सकता है क्योंकि गंतव्य अलग-अलग अभ्यावेदन का अनुरोध करते हैं। ToolAcre का पेस्ट हैंडलर क्लिपबोर्ड से HTML और सादा पाठ मांगता है, फिर ब्राउज़र की डिफ़ॉल्ट प्रविष्टि पर भरोसा करने के बजाय एक निश्चित शाखा का अनुसरण करता है।
यदि HTML मौजूद है, तो मूल समृद्ध टुकड़ा कभी भी सीधे सतह में प्रवेश नहीं करता है। यह सबसे पहले सैनिटाइजर से होकर गुजरता है। यदि HTML अनुपस्थित है, तो सादा पाठ डाला जाता है। वह स्थानीय नियम इस एडिटर के व्यवहार को बिना यह दावा किए समझाता है कि प्रत्येक मेल क्लाइंट, ऑपरेटिंग सिस्टम या ऑफिस सुइट क्लिपबोर्ड डेटा को कैसे प्राथमिकता देता है।
यह पेस्ट हैंडलर text/html पढ़ता है और text/plain; व्यापक क्लिपबोर्ड फ्लेवर साक्ष्य से बाहर हैं
एक क्लिपबोर्ड में एक चयन के कई प्रतिनिधित्व हो सकते हैं। यह कार्यान्वयन स्पष्ट रूप से `text/html` और `text/plain` से संबंधित है। यह RTF, छवियों, फ़ाइल संदर्भों या एप्लिकेशन-विशिष्ट प्रारूपों की गणना नहीं करता है, इसलिए इन्हें समर्थित इनपुट के रूप में निहित नहीं किया जाना चाहिए।
दो तार अलग-अलग जानकारी को एनकोड कर सकते हैं। सादे पाठ में अक्षर और पंक्ति विराम होते हैं, जबकि HTML में पैराग्राफ, सूचियाँ, जोर और लिंक और अवांछित विशेषताएँ हो सकती हैं। ToolAcre उपलब्ध होने पर संरचना का समर्थन करता है लेकिन सम्मिलन से पहले इसे इसके तत्व, विशेषता और URL नीति के माध्यम से सीमित करता है।
HTML फ्लेवर कौन लिखता है - बताता है कि स्रोत एप्लिकेशन इसे उत्पन्न करता है, यही कारण है कि वर्ड और Google डॉक्स पेस्ट इतने अलग दिखते हैं
स्रोत एप्लिकेशन HTML प्रतिनिधित्व बनाता है, यही कारण है कि दो समान दिखने वाली प्रतियां अलग-अलग रैपर और प्रस्तुति प्रदान कर सकती हैं। ToolAcre निर्माता की पहचान नहीं करता. यह एक सामान्य नियम लागू करता है: मूल की परवाह किए बिना असमर्थित रैपर और विशेषताएँ हटा दी जाती हैं।
यह वर्ड या Google डॉक्स आंतरिक के बिना स्रोत वाले कैटलॉग को उत्पाद दावे बनने से रोकता है। निष्कासन सूची लेखक को ठीक-ठीक बताती है कि इस पार्सर ने क्या अस्वीकार किया है। यदि किसी स्रोत एप्लिकेशन के प्रति निष्ठा मायने रखती है, तो समर्थित वातावरण से वास्तविक स्थिरता प्राप्त करें और सामान्य लेख उदाहरण पर भरोसा करने के बजाय उसका परीक्षण करें।
गंतव्य कैसे चुनता है - प्राथमिकता क्रम और पेस्ट-एज़-प्लेन-टेक्स्ट शॉर्टकट शामिल हैं
गंतव्य कोड द्वारा चुनता है। यहां, गैर-रिक्त HTML जीतता है; अन्यथा सादे पाठ का उपयोग किया जाता है। "सादे पाठ के रूप में चिपकाएँ" के लिए कोई टूलबार स्विच नहीं है, और रिपॉजिटरी स्रोत कीबोर्ड शॉर्टकट व्यवहार को परिभाषित नहीं करते हैं। ब्राउज़र और ऑपरेटिंग सिस्टम स्वतंत्र रूप से ऐसे इशारों की पेशकश कर सकते हैं।
ड्रॉप हैंडलिंग डेटाट्रांसफर के समान विचार को प्रतिबिंबित करता है: डिफ़ॉल्ट को रोकें, HTML और सादे मान पढ़ें, `insertHTML` से पहले HTML को स्वच्छ करें, या `insertText` के माध्यम से सादे अक्षर भेजें। पेस्ट के विपरीत, ड्रॉप पथ समान विस्तृत निष्कासन गणना प्रदर्शित नहीं करता है, हालांकि रीफ्रेश अभी भी दृश्यमान दस्तावेज़ को अपडेट करता है।
इस कार्यान्वयन द्वारा प्लेटफ़ॉर्म फ़्रैगमेंट मेटाडेटा को स्पष्ट रूप से पार्स नहीं किया गया है
कुछ प्लेटफ़ॉर्म मेटाडेटा या मार्करों में HTML क्लिपबोर्ड टुकड़े लपेटते हैं, लेकिन ToolAcre में नामित प्लेटफ़ॉर्म प्रारूप के लिए कोई स्पष्ट पार्सर नहीं होता है। इसका टोकननाइज़र `getData("text/html")` द्वारा लौटाई गई स्ट्रिंग को देखता है और मान्यता प्राप्त मार्कअप को संसाधित करता है। इसलिए यह आलेख हेडर सिंटैक्स, ऑफसेट और ऑपरेटिंग-सिस्टम-विशिष्ट गारंटी को छोड़ देता है।
यदि रैपर्स टिप्पणियों के रूप में दिखाई देते हैं, तो टिप्पणियाँ हटा दी जाती हैं। यदि मेटाडेटा मान्यता प्राप्त HTML से बाहर आता है, तो व्यवहार का परीक्षण किया जाना चाहिए। किसी ऐसे प्लेटफ़ॉर्म प्रोटोकॉल के लिए समर्थन या अस्वीकृति का दावा करने के लिए गुणात्मक संभावना पर्याप्त नहीं है जिसे कोड कभी नाम नहीं देता।
व्यावहारिक उदाहरण: एक रिच क्लिपबोर्ड पेलोड की तुलना सादे-केवल पेलोड से करें
मजबूत पाठ, एक छोटी सूची और एक https लिंक वाले गैर-संवेदनशील अनुच्छेद की प्रतिलिपि बनाएँ। एक समृद्ध पेस्ट उन अनुमत संरचनाओं को बनाए रख सकता है, स्रोत स्टाइल को हटा सकता है और लिंक में rel जोड़ सकता है। स्रोत और निष्कासन चेतावनी का निरीक्षण करें. फिर ऐसे वातावरण के माध्यम से एक सादा-केवल प्रतिनिधित्व चिपकाएँ जो कोई HTML आपूर्ति नहीं करता है।
सादे परिणाम में चयन के समय डाले गए अक्षर शामिल होते हैं; किसी भी ब्लॉक संरचना को मूल HTML से पुनर्स्थापित करने के बजाय ब्राउज़र संपादन होस्ट द्वारा तय किया जाता है। तत्वों से अलग शब्दों और पंक्ति सीमाओं की तुलना करें। यह अभ्यास अभ्यावेदन के बीच अनुवाद को प्रदर्शित करता है, न कि बाइट-दर-बाइट प्रतिलिपि बनाने को।
इसमें क्या शामिल नहीं है - क्लिपबोर्ड APआई, छवियां, प्लेटफ़ॉर्म शॉर्टकट या अनुमति मैट्रिक्स
यह आलेख navigator.clipboard प्रोग्रामिंग, अनुमति संकेत, क्लिपबोर्ड छवियां, फ़ाइलें, RTF, मोबाइल शॉर्टकट या क्रॉस-प्लेटफ़ॉर्म प्राथमिकता मैट्रिक्स को कवर नहीं करता है। यह यह भी दावा नहीं करता है कि इंटरसेप्टेड रिच पेस्ट मनमाने ढंग से शत्रुतापूर्ण HTML को प्रकाशित करने के लिए सुरक्षित बनाता है।
ToolAcre का सैनिटाइज़र संकीर्ण है और पार्सर अंतर को स्वीकार करता है। इसका सैंडबॉक्स स्थानीय पूर्वावलोकन में निष्पादन को अवरुद्ध करता है, लेकिन कॉपी किया गया HTML उस वातावरण को छोड़ देता है। एक प्राप्तकर्ता सर्वर को एक उपयुक्त पार्सर-आधारित सैनिटाइज़र और आउटपुट नीति की आवश्यकता होती है, जबकि उपयोगकर्ताओं को किसी भी समीक्षा न किए गए पेज में रहस्य चिपकाने से बचना चाहिए।
टेकअवे: पेस्ट एक अनुवाद है, कॉपी नहीं - मॉडल का सारांश देता है और कैसे ToolAcre का HTML WYSIWYG एडिटर आपको यह निरीक्षण करने देता है कि अनुवाद ने क्या बनाया है
रिच पेस्ट एक अनुवाद है: स्रोत अभ्यावेदन लिखता है, गंतव्य एक को चुनता है, और ToolAcre सम्मिलन से पहले चुने गए HTML को फ़िल्टर करता है। उस क्रम को समझने से पता चलता है कि क्लिपबोर्ड को टूटा हुआ माने बिना फ़ॉर्मेटिंग क्यों गायब हो सकती है।
प्रतिनिधि फिक्स्चर का उपयोग करें, परिणामी स्रोत का निरीक्षण करें और मूल सामग्री को संरक्षित करें जब सफाई से अर्थ निकल सकता है। सादा पेस्ट प्रेजेंटेशन को रीसेट करने के लिए उपयोगी है, जबकि रिच पेस्ट संरचना को बनाए रख सकता है। कोई भी मार्ग स्वच्छता, अनुकूलता परीक्षण या एडिटरीय समीक्षा से गंतव्य को राहत नहीं देता है।