نحوه استفاده از محیط زمان اجرا HTML در Python
برخی پردازشهای HTML فرض میکنند یک محیط مرورگری وجود دارد: یک پنجره، یک مکان، ذخیرهسازی، ارسال رویداد. Aspose.HTML FOSS برای Python آن محیط را در Python خالص مدلسازی میکند — Window, Navigator, Location, History, Storage, خانواده Event، و ناظران — بنابراین این اسناد بهصورت سرور-ساید پردازش میشوند. این راهنما لایه را مرور میکند، با استفاده از pip برای نصب.
راهنمای گام به گام
مرحله ۱: نصب بسته
git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git
cd Aspose.HTML-FOSS-for-Python
pip install -e .مرحله ۲: وارد کردن کلاسهای مورد نیاز
from aspose_html.dom import Window, EventTarget, AbortControllerمرحله ۳: دانستن زمان نیاز به محیط
تجزیه، CSSOM و چیدمان هرگز به window نیاز ندارند. فقط زمانی که پردازش یک سند به وضعیت محیط وابسته باشد — ناوبری، ذخیرهسازی، رویدادها یا ناظرها — از این لایه استفاده کنید.
مرحله 4: استفاده از اشیاء محیط
Window محیط را با WindowEventLoop که ارسال را هدایت میکند، ثابت میکند؛ Location و History وضعیت ناوبری را مدل میکنند؛ Storage ذخیرهسازی کلید-مقدار وب را مدل میکند؛ هویت Navigator از طریق set_default_user_agent() قابل تنظیم است. رویدادها از طریق EventTarget با خانواده استاندارد Event ارسال میشوند، و AbortController/AbortSignal امکان لغو را فراهم میکنند.
مشکلات رایج و راهحلها
یک سند پردازششده انتظار متغیرهای سراسری window را دارد. برای مرورگرها نوشته شده بود — فراهم کنید Window لایهٔ محیط.
شنوندههای رویداد ثبتشده هرگز فعال نمیشوند. ارسال به حلقهٔ رویداد نیاز دارد؛ آن را با WindowEventLoop.
شاخههای منطقی بهطور ناخواسته بر اساس user agent عمل میکنند. پیشفرض Navigator هویت در اثر است — آن را با set_default_user_agent().
سوالات متداول
آیا لایهٔ محیط برای تجزیه لازم است؟
نه — این لایه اختیاری است؛ لایههای تجزیه و استایلینگ مستقل از آن هستند.
کدام انواع رویداد مدلسازی میشوند؟
خانوادهٔ استاندارد: UI، mouse، keyboard، focus، input، popstate، hashchange، error و رویدادهای سفارشی.
آیا Storage به دیسک ذخیره میشود؟
Storage سطح API را مدلسازی میکند؛ پایداری به برنامهٔ جاسازیکننده واگذار شده است.