سؤال

وأنا أحاول لإصلاح خلل في محرر النص الغني أنا باستخدام، والذي يسبب علامات <embed> لإدراجها دون علامة إغلاق (والذي مسامير انتاج ما يصل تماما). لقد عزل المشكلة لهذه العملية:

// body is a <body> tag
body.innerHTML = '<embed src="http://example.com/whatever"></embed>';

وأية تعليمات برمجية يتوهم، مجرد الاحالة innerHTML فايرفوكس. يجب أن تكون قادرة على تكرار الخطأ في الحرائق مثل ذلك:

>>> document.body.innerHTML = "<embed></embed>"
"<embed></embed>"
>>> document.body.innerHTML
"<embed>"

هل هناك حلا لهذه؟ أنا في حاجة إلى العلامة، ولكن لا أستطيع أن تبرر إعادة بناء / استبدال كامل غني نص محرر بسبب حالة واحدة حافة كربي.

وأنا لا يمكن تحويل هذا إلى شيء من هذا القبيل document.createElement('embed')، لأن المدخلات في العالم الحقيقي لهذا المحرر يمكن أن تشمل بسهولة بضع فقرات من النص ملفوفة حول <embed>. HTML داخلي هو، على الورق، والكمال لهذه الحالة استخدام، أنا فقط لا يمكن الحصول عليها للعمل مع <embed>.

هل كانت مفيدة؟

المحلول

وهذا قد لا يكون الجواب لمشكلتك، ولكن <تضمين> لم يكن جزءا من أي إصدار موحد من HTML حتى HTML5، وفقا ل<لأ href = "HTTP: //validator.w3 كافيه / مستندات / help.html "يختلط =" نوفولو noreferrer "> W3C .

نصائح أخرى

وعلى الرغم من أن <تضمين> ليست جزءا من أتش تي أم أل القياسية، تم تنفيذ على نطاق واسع وذلك، من مستوى الأمر الواقع.

وقال ذلك، وأنا على تشغيل فايرفوكس 3 (حقل ألغام v3.0.0.5) وأنا على الحصول على وظائف غير متوقعة قليلا، ولكن الصحيح تماما. كنت أتوقع <م> بالضبط HTML لوضعها موضع العنصر اخترتها، ولكن بدلا من ذلك حصلت <م> نظيفة أتش تي أم أل.

ومنذ <تضمين هو علامة فارغة (وهذا يعني أنه لا يمكن أن يكون محتويات والصفات فقط)، فايرفوكس يتحول هذا

<embed attribute="value"></embed>

في

<embed  attribute="value"/>

، وهو علامة مغلقة صالحة بريفيكتلي. فإنه يفعل نفس الشيء على بطاقات فارغة أخرى، مثل <الإدخال /> و <صورة>

هذه الصفحة الذي يمكن أن نرى في هذا العمل. النسخة scriptless الصفحة ديه الفيديو المدمجة (يوتيوب) من داخل شعبة ردي مشرق. السيناريو يسرق محتوياتها ويضعها في الجسم كما HTML داخلي.

وهذا يذكرني المشاكل دوكمنت كان / ومع

scroll top