Framesets

Framesets

คู่มือนี้แสดงวิธีการอ่านโครงสร้างหน้าเฟรมแบบดั้งเดิมใน Aspose.Words FOSS สำหรับ .NET โดยใช้คลาส Frameset และ FramesetCollection ซึ่งแสดงหน้าเฟรมและเฟรมลูกเมื่อโครงสร้างของเอกสารจำลองเป็นชุดของเฟรม.


คลาส Frameset

Frameset แทนหน้าเฟรมหรือเฟรมเดี่ยวบนหน้าเฟรม Document.Frameset คืนค่า Frameset รากสำหรับเอกสารที่โหลดจากโครงสร้าง HTML ที่มีเฟรม FrameDefaultUrl (string) คือ URL ของเว็บเพจหรือชื่อไฟล์เอกสารที่แสดงในเฟรมนั้น IsFrameLinkToFile (bool) ระบุว่าค่า FrameDefaultUrl เป็นทรัพยากรภายนอกที่เฟรมเชื่อมโยงไปหรือไม่ ChildFramesets คืนค่า FramesetCollection ของเฟรมลูกและหน้าเฟรมที่ซ้อนอยู่ภายใต้นี้.


การวนซ้ำเฟรมลูกด้วย FramesetCollection

FramesetCollection implements 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 จะพลาดเฟรมที่ซ้อนกันมีการวนซ้ำเฉพาะระดับบนสุดเท่านั้นทำการเรียกซ้ำเข้าไปในแต่ละ child Frameset.ChildFramesets แทนการวนซ้ำระดับหนึ่งลึก
ไม่สามารถบอกได้ว่าเฟรมชี้ไปที่ไฟล์หรือ URLIsFrameLinkToFile ไม่ได้ถูกตรวจสอบอ่าน IsFrameLinkToFile ควบคู่กับ FrameDefaultUrl เพื่อทราบวิธีแก้ไขเป้าหมาย

FAQ

Frameset คืออะไรใน Aspose.Words FOSS สำหรับ .NET?

มันเป็นตัวแทนของหน้าเฟรมหรือเฟรมเดียวบนหน้าเฟรม ซึ่งเปิดเผยเป็น Document.Frameset สำหรับเอกสารที่โหลดจากแหล่งที่มาที่ใช้เฟรม HTML.

ฉันจะแสดงรายการเฟรมทั้งหมดใน frameset อย่างไร?

ทำการวนซ้ำ Frameset.ChildFramesets (ซึ่งเป็น FramesetCollection) ด้วย GetEnumerator() / foreach, แล้วทำการเรียกซ้ำลงไปในลูกใดที่มี ChildFramesets เพิ่มเติมอีก.

ฉันจะรู้ได้อย่างไรว่ามีเฟรมลูกใน Frameset กี่เฟรม?

อ่าน FramesetCollection.Count จากคุณสมบัติ ChildFramesets ของมัน.

IsFrameLinkToFile บอกคุณว่าอะไร?

ว่าเว็บเพจหรือชื่อไฟล์เอกสารใน FrameDefaultUrl เป็นทรัพยากรภายนอกที่เฟรมเชื่อมโยงถึงหรือไม่.


API Reference สรุป

คลาส/เมธอดคำอธิบาย
Document.FramesetRoot Frameset สำหรับเอกสารที่โหลดจากแหล่งข้อมูล HTML แบบ frames-based
Framesetแสดงถึงหน้าเฟรมหรือเฟรมเดียวบนหน้าเฟรม
Frameset.FrameDefaultUrlURL ของหน้าเว็บหรือชื่อไฟล์เอกสารที่แสดงในเฟรม
Frameset.IsFrameLinkToFileว่า FrameDefaultUrl เป็นทรัพยากรที่เชื่อมโยงภายนอกหรือไม่
Frameset.ChildFramesetsFramesetCollection ของเฟรมลูกและหน้าเฟรม
FramesetCollectionคอลเลกชันของอินสแตนซ์ Frameset; Count, GetEnumerator

ดูเพิ่มเติม

 ภาษาไทย