Framesets

Framesets

Questa guida mostra come leggere la struttura legacy di pagine con frame in Aspose.Words FOSS per .NET utilizzando le classi Frameset e FramesetCollection, che rappresentano una pagina con frame e i suoi frame figli quando la struttura di un documento modella un insieme di frame.


La classe Frameset

Frameset rappresenta una pagina con frame o un singolo frame su una pagina con frame. Document.Frameset restituisce la radice Frameset per un documento caricato da una struttura HTML con frame. FrameDefaultUrl (string) è l’URL della pagina web o il nome file del documento visualizzato in quel frame. IsFrameLinkToFile (bool) indica se il valore FrameDefaultUrl è una risorsa esterna a cui il frame collega. ChildFramesets restituisce un FramesetCollection dei frame figli e delle pagine con frame nidificate sotto questa.


Iterare i frame figli con FramesetCollection

FramesetCollection implementa IEnumerable<Frameset>, quindi GetEnumerator() supporta l’iterazione foreach sui frame che contiene. Count segnala il numero di frame o pagine con frame nella collezione. Combina Count e l’iterazione con ChildFramesets per percorrere ricorsivamente una struttura di pagine con frame nidificate — ogni Frameset figlio può contenere ulteriori ChildFramesets.


Suggerimenti e migliori pratiche

  • Controlla Document.Frameset per null prima di leggere le sue proprietà — la maggior parte dei documenti non sono pagine con frame, quindi questa proprietà viene popolata solo quando il HTML di origine ha utilizzato un layout a frame.
  • Scorri ChildFramesets in modo ricorsivo (piuttosto che presumere una struttura piatta a un livello) poiché una pagina con frame può annidare ulteriori pagine con frame all’interno dei suoi frame.
  • Usa IsFrameLinkToFile per distinguere un frame che collega a una risorsa esterna da uno che incorpora direttamente il nome di un file documento in FrameDefaultUrl.
  • FramesetCollection.Count è un modo semplice per verificare se un Frameset ha dei figli prima di iterare.

Problemi comuni

ProblemaCausaCorrezione
Document.Frameset è nullIl documento non è stato caricato da una sorgente HTML basata su frameConferma che il documento sorgente abbia effettivamente usato frame HTML prima di fare affidamento su questa proprietà
Iterare ChildFramesets non rileva i frame nidificatiSolo il livello superiore è stato iteratoRicorsione in ogni Frameset.ChildFramesets figlio anziché iterare a un livello di profondità
Impossibile capire se un frame punta a un file o a un URLIsFrameLinkToFile non è stato controllatoLeggi IsFrameLinkToFile insieme a FrameDefaultUrl per sapere come risolvere il target

FAQ

Che cos’è un Frameset in Aspose.Words FOSS per .NET?

Rappresenta una pagina con frame o un singolo frame su una pagina con frame, esposto come Document.Frameset per i documenti caricati da una fonte HTML basata su frame.

Come posso elencare tutti i frame in un frameset?

Itera Frameset.ChildFramesets (un FramesetCollection) con GetEnumerator() / foreach, ricorsivamente in qualsiasi figlio che a sua volta abbia ulteriori ChildFramesets.

Come posso sapere quanti frame figlio ha un Frameset?

Leggi FramesetCollection.Count sulla sua proprietà ChildFramesets.

Cosa ti dice IsFrameLinkToFile?

Se la pagina web o il nome del file documento in FrameDefaultUrl è una risorsa esterna a cui il frame è collegato.


API Reference Riepilogo

Classe/MetodoDescrizione
Document.FramesetRoot Frameset per un documento caricato da una sorgente HTML basata su frames
FramesetRappresenta una pagina con frame o un singolo frame su una pagina con frame
Frameset.FrameDefaultUrlURL della pagina web o nome file del documento visualizzato nel frame
Frameset.IsFrameLinkToFileSe FrameDefaultUrl è una risorsa collegata esternamente
Frameset.ChildFramesetsFramesetCollection dei frame figlio e delle pagine dei frame
FramesetCollectionRaccolta di istanze di Frameset; Count, GetEnumerator

Vedi anche

 Italiano