Framesets

Framesets

Denna guide visar hur man läser den äldre frames-sidstrukturen i Aspose.Words FOSS för .NET med hjälp av klasserna Frameset och FramesetCollection, som representerar en frames-sida och dess underordnade frames när ett dokuments struktur modellerar en uppsättning frames.


Frameset-klassen

Frameset representerar en frames-sida eller en enskild frame på en frames-sida. Document.Frameset returnerar den rot-Frameset för ett dokument som laddades från en inramad HTML-struktur. FrameDefaultUrl (string) är webbsidans URL eller dokumentfilens namn som visas i den ramen. IsFrameLinkToFile (bool) indikerar om FrameDefaultUrl-värdet är en extern resurs som ramen länkar till. ChildFramesets returnerar en FramesetCollection av de underordnade ramarna och frames-sidorna som är inbäddade under denna.


Iterera underordnade frames med FramesetCollection

FramesetCollection implementerar IEnumerable<Frameset>, så GetEnumerator() stödjer foreach iteration över de frames den innehåller. Count rapporterar antalet frames eller frames-sidor i samlingen. Kombinera Count och iteration med ChildFramesets för att gå igenom en nästlad frames-sidstruktur rekursivt — varje underordnad Frameset kan själv innehålla ytterligare ChildFramesets.


Tips och bästa praxis

  • Kontrollera Document.Frameset för null innan du läser dess egenskaper — de flesta dokument är inte frames pages, så denna egenskap fylls endast i när käll-HTML använde en frames-layout.
  • Gå igenom ChildFramesets rekursivt (istället för att anta en platt, endimensionell struktur) eftersom en frames page kan nästla ytterligare frames pages inom sina frames.
  • Använd IsFrameLinkToFile för att skilja en ram som länkar till en extern resurs från en som bäddar in ett dokumentfilnamn direkt i FrameDefaultUrl.
  • FramesetCollection.Count är ett billigt sätt att kontrollera om en Frameset har några barn innan iteration.

Vanliga problem

ProblemOrsakLösning
Document.Frameset är nullDokumentet laddades inte från en frames-baserad HTML-källaBekräfta att källdokumentet faktiskt använde HTML-ramar innan du förlitar dig på den här egenskapen
Iterering av ChildFramesets missar nästlade ramarEndast topnivån itereradesRekursa i varje barn Frameset.ChildFramesets i stället för att iterera ett nivå djupt
Kan inte avgöra om en ram pekar på en fil eller en URLIsFrameLinkToFile kontrollerades inteLäs IsFrameLinkToFile tillsammans med FrameDefaultUrl för att veta hur du ska lösa målet

FAQ

Vad är ett Frameset i Aspose.Words FOSS för .NET?

Det representerar en frames page eller en enskild ram på en frames page, exponerad som Document.Frameset för dokument som hämtas från en frames-baserad HTML-källa.

Hur listar jag alla ramar i ett frameset?

Iterera Frameset.ChildFramesets (en FramesetCollection) med GetEnumerator() / foreach, och rekursivt gå in i varje barn som själv har ytterligare ChildFramesets.

Hur vet jag hur många barnramar ett Frameset har?

Läs FramesetCollection.Count på dess ChildFramesets-egenskap.

Vad säger IsFrameLinkToFile till dig?

Om webbsidan eller dokumentfilnamnet i FrameDefaultUrl är en extern resurs som ramen länkas till.


API Reference Sammanfattning

Klass/MetodBeskrivning
Document.FramesetRot Frameset för ett dokument som lästs in från en ram-baserad HTML-källa
FramesetRepresenterar en frames-sida eller en enskild ram på en frames-sida
Frameset.FrameDefaultUrlWebbsidans URL eller dokumentfilnamn som visas i ramen
Frameset.IsFrameLinkToFileOm FrameDefaultUrl är en extern länkad resurs
Frameset.ChildFramesetsFramesetCollection för underramar och ram-sidor
FramesetCollectionSamling av Frameset-instanser; Count, GetEnumerator

Se även

 Svenska