الفرق بين المراجعتين ل"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‎()‎ مكان هذا التّابع).

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