أدوات المطورين · محرر HTML WYSIWYG
نص منسق في الحافظة: كيف ينتقل التنسيق بين التطبيقات
· خلفية
أتش تي أم أل الحافظة contenteditable
يشرح التنسيقات المتعددة التي تضعها نسخة النص المنسق في الحافظة، وكيف يختار كل تطبيق تنسيقًا واحدًا، ولماذا لا يكون العلامات الملصقة أبدًا هو ما تم نسخه.
نفس النسخة، بثلاث عمليات لصق مختلفة - يتم فتحها بمحتوى تم لصقه في المتصفح والمحطة الطرفية وعميل البريد
يمكن أن تصل فقرة واحدة منسوخة كمحتوى منسق في محرر المتصفح وأحرف غير منسقة في الوحدة الطرفية لأن الوجهات تطلب تمثيلات مختلفة. يطلب معالج اللصق الخاص بـ ToolAcre من الحافظة HTML والنص العادي، ثم يتبع فرعًا ثابتًا بدلاً من الوثوق بالإدراج الافتراضي للمتصفح.
إذا كان HTML موجودًا، فلن يدخل الجزء الغني الأصلي إلى السطح مباشرة. يمر عبر المطهر أولا. إذا كان HTML غائبًا، فسيتم إدراج نص عادي. تشرح هذه القاعدة المحلية سلوك هذا المحرر دون المطالبة بكيفية قيام كل عميل بريد أو نظام تشغيل أو مجموعة مكتبية بإعطاء الأولوية لبيانات الحافظة.
يقرأ معالج اللصق هذا النص/html والنص/plain; نكهات الحافظة الأوسع نطاقًا خارج الأدلة
يمكن أن تحتوي الحافظة على تمثيلات متعددة لتحديد واحد. يتعامل هذا التنفيذ بشكل صريح مع `text/html` و`text/plain`. وهو لا يقوم بتعداد RTF أو الصور أو مراجع الملفات أو التنسيقات الخاصة بالتطبيقات، لذلك لا ينبغي تضمينها كمدخلات مدعومة.
يمكن للسلسلتين تشفير معلومات مختلفة. يحتوي النص العادي على أحرف وفواصل أسطر، بينما يمكن أن يحمل HTML فقرات وقوائم وتأكيدات وروابط بالإضافة إلى السمات غير المرغوب فيها. ToolAcre تفضل البنية عندما تكون متاحة ولكنها تضيقها من خلال العنصر والسمة وسياسة URL قبل الإدراج.
يوضح من يكتب النكهة HTML أن التطبيق المصدر ينشئها، ولهذا السبب تبدو عمليات لصق Word وGoogle Docs مختلفة تمامًا
يقوم التطبيق المصدر بإنشاء تمثيل HTML، ولهذا السبب يمكن لنسختين متشابهتين بصريًا توفير أغلفة وعرض تقديمي مختلفين. ToolAcre لا يحدد المنتج. يتم تطبيق قاعدة عامة واحدة: تتم إزالة الأغلفة والسمات غير المدعومة بغض النظر عن الأصل.
وهذا يمنع الكتالوجات غير المصدرية الخاصة بـ Word أو Google Docs الداخلي من أن تصبح مطالبات بالمنتج. تخبر قائمة الإزالة الكاتب بالضبط بما رفضه هذا المحلل اللغوي. إذا كانت الدقة في تطبيق المصدر أمرًا مهمًا، فالتقط تثبيتًا حقيقيًا من البيئة المدعومة واختبره بدلاً من الاعتماد على مثال مقالة عامة.
كيفية اختيار الوجهة - يغطي ترتيب التفضيلات واختصارات اللصق كنص عادي
الوجهة تختار عن طريق الرمز. هنا، يفوز HTML غير الفارغ؛ وإلا يتم استخدام نص عادي. لا يوجد مفتاح تبديل في شريط الأدوات لـ "لصق كنص عادي"، ولا تحدد مصادر المستودع سلوك اختصارات لوحة المفاتيح. قد تقدم المتصفحات وأنظمة التشغيل مثل هذه الإيماءات بشكل مستقل.
يعكس التعامل مع الإسقاط نفس الفكرة مع DataTransfer: منع الافتراضي، وقراءة HTML والقيم البسيطة، وتطهير HTML قبل `insertHTML`، أو إرسال أحرف عادية من خلال `insertText`. على عكس اللصق، لا يعرض مسار الإفلات نفس عدد عمليات الإزالة التفصيلية، على الرغم من أن التحديث لا يزال يقوم بتحديث المستند المرئي.
لم يتم تحليل بيانات تعريف جزء النظام الأساسي بشكل صريح بواسطة هذا التنفيذ
تقوم بعض الأنظمة الأساسية بتغليف أجزاء الحافظة HTML في بيانات التعريف أو العلامات، ولكن ToolAcre لا تحتوي على محلل صريح لتنسيق النظام الأساسي المسمى. يرى برنامج الرمز المميز الخاص به السلسلة التي تم إرجاعها بواسطة `getData("text/html")` ويقوم بمعالجة العلامات التي تم التعرف عليها. ولذلك تتجاهل هذه المقالة بناء جملة الرأس والإزاحات والضمانات الخاصة بنظام التشغيل.
إذا ظهرت الأغلفة كتعليقات، فستتم إزالة التعليقات. إذا وصلت البيانات الوصفية خارج نطاق HTML، فيجب اختبار السلوك. الاحتمال النوعي لا يكفي للمطالبة بالدعم أو الرفض لبروتوكول النظام الأساسي الذي لم يذكره الكود مطلقًا.
مثال عملي: مقارنة حمولة الحافظة الغنية بحمولة عادية فقط
انسخ فقرة غير حساسة تحتوي على نص قوي وقائمة قصيرة ورابط https. يمكن أن يحتفظ اللصق الغني بتلك الهياكل المسموح بها، ويزيل نمط المصدر ويضيف رابطًا إلى الرابط. فحص المصدر وتحذير الإزالة. ثم قم بلصق تمثيل عادي فقط من خلال بيئة لا توفر HTML.
تحتوي النتيجة البسيطة على أحرف مدرجة عند التحديد؛ يتم تحديد أي بنية كتلة بواسطة مضيف تحرير المتصفح بدلاً من استعادتها من HTML الأصلي. قارن الكلمات وحدود الخطوط بشكل منفصل عن العناصر. يوضح التمرين الترجمة بين التمثيلات، وليس النسخ بايت مقابل بايت.
ما لا يغطيه هذا هو واجهات برمجة تطبيقات الحافظة أو الصور أو اختصارات النظام الأساسي أو مصفوفات الأذونات
لا تتناول هذه المقالة برمجة navigator.clipboard أو مطالبات الأذونات أو صور الحافظة أو الملفات أو RTF أو اختصارات الهاتف المحمول أو مصفوفة التفضيلات عبر الأنظمة الأساسية. كما أنها لا تدعي أن المعجون الغني الذي تم اعتراضه يجعل نشر HTML معاديًا بشكل تعسفي آمنًا.
معقم ToolAcre ضيق ويتعرف على الفروق المحللية. يحظر صندوق الحماية الخاص به التنفيذ في المعاينة المحلية، لكن HTML المنسوخ يترك تلك البيئة. يحتاج الخادم المتلقي إلى أداة تعقيم مناسبة تعتمد على المحلل اللغوي وسياسة الإخراج، بينما يجب على المستخدمين تجنب لصق الأسرار في أي صفحة لم تتم مراجعتها.
الوجبات الجاهزة: اللصق هو ترجمة، وليس نسخة - يلخص النموذج وكيف يتيح لك محرر ToolAcre HTML WYSIWYG فحص ما أنتجته الترجمة
اللصق المنسق عبارة عن ترجمة: المصدر يكتب التمثيلات، والوجهة تختار واحدًا، وToolAcre تقوم بتصفية HTML المختار قبل الإدراج. يشرح فهم هذا التسلسل سبب اختفاء التنسيق دون التعامل مع الحافظة على أنها معطلة.
استخدم التركيبات التمثيلية، وافحص المصدر الناتج واحتفظ بالمحتوى الأصلي عندما قد يؤدي التنظيف إلى إزالة المعنى. يعد اللصق العادي مفيدًا لإعادة ضبط العرض التقديمي، بينما يمكن أن يحافظ اللصق الغني على البنية. لا يعفي أي من المسارين الوجهة من الصرف الصحي أو اختبار التوافق أو المراجعة التحريرية.