Framesets
Framesets
يوضح هذا الدليل كيفية قراءة بنية صفحات الإطارات القديمة في Aspose.Words FOSS لـ .NET باستخدام الفئتين Frameset وFramesetCollection، اللتين تمثلان صفحة إطارات وإطاراتها الفرعية عندما نمذج بنية المستند كمجموعة من الإطارات.
فئة Frameset
Frameset تمثل صفحة إطارات أو إطارًا واحدًا داخل صفحة إطارات. Document.Frameset تُعيد الجذر Frameset لمستند تم تحميله من بنية HTML مؤطرة. FrameDefaultUrl (string) هو عنوان URL للصفحة الويب أو اسم ملف المستند المعروض في ذلك الإطار. IsFrameLinkToFile (bool) يشير إلى ما إذا كانت قيمة FrameDefaultUrl موردًا خارجيًا يرتبط به الإطار. ChildFramesets تُعيد FramesetCollection للإطارات الفرعية وصفحات الإطارات المتداخلة تحت هذا.
التكرار عبر الإطارات الفرعية باستخدام FramesetCollection
FramesetCollection تُنفّذ IEnumerable<Frameset>، لذا GetEnumerator() يدعم التكرار foreach عبر الإطارات التي يحتويها. Count يُبلغ عن عدد الإطارات أو صفحات الإطارات في المجموعة. اجمع بين Count والتكرار باستخدام ChildFramesets لاستعراض بنية صفحات إطارات متداخلة بشكل تكراري — كل Frameset فرعي يمكنه أن يحتوي بدوره على مزيد من ChildFramesets.
نصائح وأفضل الممارسات
- تحقق من
Document.Framesetلـnullقبل قراءة خصائصه — معظم المستندات ليست صفحات إطارات، لذا تُملأ هذه الخاصية فقط عندما يستخدم المصدر HTML تخطيط إطارات. - تجول في
ChildFramesetsبصورة متكررة (بدلاً من افتراض بنية مسطحة ذات مستوى واحد) لأن صفحة الإطارات يمكنها أن تضم صفحات إطارات أخرى داخل إطاراتها. - استخدم
IsFrameLinkToFileللتمييز بين إطار يربط بموارد خارجية وآخر يضم اسم ملف مستند مباشرةً فيFrameDefaultUrl. FramesetCollection.Countطريقة رخيصة للتحقق مما إذا كان لـFramesetأي أبناء قبل التكرار.
مشكلات شائعة
| المشكلة | السبب | الإصلاح |
|---|---|---|
Document.Frameset هو null | لم يتم تحميل المستند من مصدر HTML يعتمد على الإطارات | تأكد من أن المستند المصدر استخدم بالفعل إطارات HTML قبل الاعتماد على هذه الخاصية |
تكرار ChildFramesets يفوت الإطارات المتداخلة | تم تكرار المستوى الأعلى فقط | تعمق إلى كل عنصر فرعي Frameset.ChildFramesets بدلاً من التكرار على مستوى واحد فقط |
| لا يمكن معرفة ما إذا كان الإطار يشير إلى ملف أم إلى عنوان URL | IsFrameLinkToFile لم يتم فحصه | اقرأ IsFrameLinkToFile جنبًا إلى جنب مع FrameDefaultUrl لتعرف كيفية حل الهدف |
FAQ
ما هو مجموعة الإطارات في Aspose.Words FOSS لـ .NET؟
يمثل صفحة إطارات أو إطارًا واحدًا على صفحة إطارات، يتم عرضه كـ Document.Frameset للمستندات التي تم تحميلها من مصدر HTML قائم على الإطارات.
كيف أدرج جميع الإطارات في مجموعة إطارات؟
تكرار Frameset.ChildFramesets (a FramesetCollection) باستخدام GetEnumerator() / foreach، مع التكرار داخل أي عنصر فرعي يمتلك ChildFramesets إضافية.
كيف أعرف عدد الإطارات الفرعية التي تحتويها مجموعة الإطارات؟
قراءة FramesetCollection.Count على خاصية ChildFramesets الخاصة به.
ماذا يخبرك IsFrameLinkToFile؟
ما إذا كانت صفحة الويب أو اسم ملف المستند في FrameDefaultUrl هو مورد خارجي يرتبط به الإطار.
ملخص API Reference
| الفئة/الطريقة | وصف |
|---|---|
Document.Frameset | جذر Frameset لمستند تم تحميله من مصدر HTML يعتمد على الإطارات |
Frameset | يمثل صفحة إطارات أو إطارًا واحدًا على صفحة إطارات |
Frameset.FrameDefaultUrl | عنوان URL لصفحة الويب أو اسم ملف المستند المعروض في الإطار |
Frameset.IsFrameLinkToFile | ما إذا كان FrameDefaultUrl موردًا مرتبطًا خارجيًا |
Frameset.ChildFramesets | FramesetCollection لإطارات الأطفال وصفحات الإطارات |
FramesetCollection | مجموعة من حالات Frameset؛ Count، GetEnumerator |