شاهین

رویداد pagehide

پیشرفته
به‌روزرسانی ۲۰ تیر ۱۴۰۵ تحریریه شاهین ۲ دقیقه مطالعه
تلفظEN/ˈpeɪdʒhaɪd ɪˈvɛnt/

رویداد pagehide لحظه‌ای است که مرورگر اعلام می‌کند صفحه دارد پنهان یا ترک می‌شود؛ آخرین فرصت قابل‌اعتماد برای فرستادن داده‌ای که تا آن لحظه جمع شده است.

چالش جمع‌آوری داده این است که بعضی چیزها فقط در پایان بازدید معنا دارند — مدت ماندن روی صفحه، عمق اسکرول نهایی، یا رویدادهایی که هنوز در صف ارسال مانده‌اند — و باید درست پیش از رفتن کاربر فرستاده شوند. رویداد pagehide برای همین است، و امروز جایگزین قابل‌اعتمادتری برای رویداد قدیمی unload است که روی موبایل قابل‌اتکا نبود. اما یک ظرافت هست: کاربر ممکن است صفحه را ببندد یا فقط به تب دیگری برود و بعد برگردد، پس ابزارهای دقیق pagehide را در کنار رویداد visibilitychange می‌خوانند تا هم پایان واقعی و هم پنهان‌شدن موقت را پوشش دهند. چون در این لحظه فرصت کم است، داده باید با روشی فرستاده شود که ترک صفحه را کند نکند و لغو نشود.