الفرق بين المراجعتين لصفحة: «JavaScript/Document/createCDATASection»

من موسوعة حسوب
سطر 7: سطر 7:
</syntaxhighlight>
</syntaxhighlight>


<code>CDATASectionNode</code>
===<code>CDATASectionNode</code>===
يُمثّل عقدةً من النّوع [[CDATASection]].
يُمثّل عقدةً من النّوع [[CDATASection]].


<code>data</code>
===<code>data</code>===
سلسلةٌ نصيّة تحتوي على البيانات المرغوب إضافتها إلى قسم CDATA.
سلسلةٌ نصيّة تحتوي على البيانات المرغوب إضافتها إلى قسم CDATA.



مراجعة 16:21، 24 مارس 2018

يُنشئُ التّابع Document.createCDATASection()‎ عقدةَ قسم CDATA جديدةً ويُعيدها.

البنية العامة

CDATASectionNode = document.createCDATASection(data)

CDATASectionNode

يُمثّل عقدةً من النّوع CDATASection.

data

سلسلةٌ نصيّة تحتوي على البيانات المرغوب إضافتها إلى قسم CDATA.

مثال

var docu = new DOMParser().parseFromString('<xml></xml>',  "application/xml")

var cdata = docu.createCDATASection('هنا عقدة البيانات');

docu.getElementsByTagName('xml')[0].appendChild(cdata);

alert(new XMLSerializer().serializeToString(docu));
// ستَعرضُ
// <xml><![CDATA[هنا عقدة البيانات]]></xml>

ملاحظات

  • يعمل هذا مع مستندات XML فقط، ولا يعمل مع مستندات HTML (لأنّ مُستندات HTML لا تدعم أقسام CDATA)؛ مُحاولة استعمال التّابع مع مُستندات HTML سترمي الاستثناء NOT_SUPPORTED_ERR.
  • سترمي كذلك الاستثناء NS_ERROR_DOM_INVALID_CHARACTER_ERR في حالة مُرّرت سلسلة الإغلاق ‎"‎]]>‎"‎ كجزءٍ من البيانات، لذا لا يُمكن استعمال بيانات مُزوَّدة من طرف المُستخدم بأمان دون تهريبها (unescaped) ودون رمي هذا الاستثناء (يُمكن استخدام التّابع document.createTextNode‎()‎ مكان هذا التّابع).

مصادر ومواصفات