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, а не ітерувати лише один рівень глибини
Не вдається визначити, чи вказує кадр на файл чи URLIsFrameLinkToFile не було перевіреноПрочитайте IsFrameLinkToFile разом з FrameDefaultUrl, щоб дізнатися, як розв’язати ціль

FAQ

Що таке Frameset у Aspose.Words FOSS для .NET?

Він представляє сторінку з фреймами або окремий фрейм на такій сторінці, представлений як Document.Frameset для документів, завантажених з джерела HTML, що базується на фреймах.

Як отримати список усіх кадрів у наборі кадрів?

Ітерувати Frameset.ChildFramesets (a FramesetCollection) за допомогою GetEnumerator() / foreach, рекурсивно переходячи в будь-якого дочірнього, який сам має додаткові ChildFramesets.

Як дізнатися, скільки дочірніх кадрів має Frameset?

Прочитайте FramesetCollection.Count у його властивості ChildFramesets.

Що IsFrameLinkToFile повідомляє вам?

Чи є веб-сторінка або назва файлу документа в FrameDefaultUrl зовнішнім ресурсом, до якого посилається кадр.


API Reference Підсумок

Клас/МетодОпис
Document.FramesetКореневий Frameset для документа, завантаженого з HTML джерела, що базується на кадрах
FramesetПредставляє сторінку з фреймами або окремий фрейм на сторінці з фреймами.
Frameset.FrameDefaultUrlURL веб-сторінки або назва файлу документа, що відображається у фреймі
Frameset.IsFrameLinkToFileЧи є FrameDefaultUrl зовнішнім пов’язаним ресурсом
Frameset.ChildFramesetsFramesetCollection дочірніх фреймів та сторінок фреймів
FramesetCollectionКолекція екземплярів Frameset; Count, GetEnumerator

Дивіться також

 Українська