رفتن به محتوای اصلی

منوی موبایل سایت باز نمیشه

  • سینا قربانیان
  • ۸ آبان ۱۴۰۵
  • ۳ دقیقه مطالعه
  • ۰ بازدید
رفع مشکل باز نشدن منوی موبایل سایت وردپرس با بررسی خطای جاوااسکریپت
فهرست مطالب
  1. چرا این اتفاق می‌افتد؟
  2. چه کار کنیم؟
  3. کی بهتر است از متخصص کمک بگیرید؟
  4. سوالات متداول
  5. چرا منوی موبایل در دسکتاپ کار می‌کند ولی در گوشی نه؟
  6. افزونه کش می‌تواند منو را خراب کند؟
  7. خودم می‌توانم این مشکل را حل کنم؟

وقتی منوی موبایل سایت باز نمی‌شود، تقریباً همیشه یک خطای جاوااسکریپت جلوی اجرای کد منو را گرفته است. رایج‌ترین مقصرها گزینه‌های ادغام، فشرده‌سازی یا تأخیر جاوااسکریپت در افزونه‌های کش و بهینه‌سازی، و تداخل یک افزونه یا به‌روزرسانی قالب هستند. با غیرفعال کردن موقت همین گزینه‌ها معمولاً در چند دقیقه مقصر پیدا می‌شود.

نویسنده: تیم siloow (سیلو سولوشن) — آخرین به‌روزرسانی: آبان ۱۴۰۵

چرا این اتفاق می‌افتد؟

  • گزینه «Delay JavaScript» یا «Combine JS» در افزونه بهینه‌سازی اسکریپت منو را دیر یا با ترتیب اشتباه اجرا می‌کند.
  • یک افزونه دیگر خطای جاوااسکریپت دارد و اجرای بقیه اسکریپت‌ها را متوقف می‌کند.
  • بعد از به‌روزرسانی قالب یا صفحه‌ساز، نسخه کش‌شده فایل‌های قدیمی هنوز نمایش داده می‌شود.
  • عنصر دیگری (مثل بنر کوکی یا دکمه چت) با z-index بالاتر روی دکمه منو قرار گرفته و لمس را می‌گیرد.
  • کتابخانه jQuery حذف یا دو بار بارگذاری شده است.

چه کار کنیم؟

قبل از هر تغییری از فایل‌ها و دیتابیس سایت بکاپ کامل بگیرید؛ بعد این مراحل را به ترتیب جلو بروید:

  1. سایت را در کروم دسکتاپ با حالت Device Toolbar باز کنید، Console را ببینید و خطاهای قرمز را یادداشت کنید.
  2. کش افزونه، کش سرور و CDN را پاک کنید و دوباره تست کنید.
  3. در افزونه کش یا بهینه‌سازی، گزینه‌های Delay JS، Combine JS و Defer را یکی‌یکی خاموش کنید و بعد از هرکدام تست کنید.
  4. اگر مشکل باقی بود، روی نسخه آزمایشی یا با افزونه‌ای مثل Health Check، افزونه‌ها را یکی‌یکی غیرفعال کنید تا مقصر پیدا شود.
  5. اگر دکمه منو زیر عنصر دیگری است، با Inspect ببینید چه چیزی روی آن قرار گرفته و z-index را اصلاح کنید.
  6. بعد از پیدا کردن مقصر، اسکریپت منو را از تأخیر مستثنا کنید یا افزونه مشکل‌دار را به‌روز یا جایگزین کنید.
مراحل عیب‌یابی باز نشدن منوی موبایل سایت وردپرس
از Console تا پیدا کردن مقصر
نشانهعلت محتملاقدام
بعد از فعال کردن افزونه کش خراب شدDelay یا Combine JSاستثنا کردن اسکریپت منو
خطای قرمز در Consoleخطای افزونه یا قالبپیدا کردن و به‌روزرسانی مقصر
بعد از آپدیت قالب خراب شدفایل‌های کش‌شده قدیمیپاک کردن همه کش‌ها
دکمه دیده می‌شود ولی لمس نمی‌گیردعنصر دیگری روی دکمهاصلاح z-index
نشانه‌های باز نشدن منوی موبایل و اقدام مناسب

نکته: غیرفعال کردن افزونه‌ها روی سایت زنده، به‌ویژه فروشگاه، ممکن است موقتاً بخشی از سایت را از کار بیندازد؛ اگر امکانش هست روی نسخه آزمایشی یا با حالت عیب‌یابی Health Check کار کنید که فقط برای شما اعمال می‌شود. بهینه‌سازی جاوااسکریپت را هم کامل خاموش نکنید؛ فقط اسکریپت مشکل‌دار را مستثنا کنید.

روش رسمی عیب‌یابی تداخل‌ها در افزونه Health Check & Troubleshooting در WordPress.org آمده است. برای پیدا کردن افزونه مقصر، تداخل افزونه‌ها در وردپرس و اگر کل نمای موبایل مشکل دارد، سایتم تو موبایل بهم ریخته را ببینید.

کی بهتر است از متخصص کمک بگیرید؟

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

اگر منوی موبایل سایت شما کار نمی‌کند، فرم تماس siloow را پر کنید؛ تیم siloow در اولین فرصت با شما تماس می‌گیرد و علت را پیدا می‌کند.

سوالات متداول

چرا منوی موبایل در دسکتاپ کار می‌کند ولی در گوشی نه؟

منوی موبایل معمولاً کد جاوااسکریپت جداگانه دارد؛ اگر آن کد با خطا یا تأخیر اجرا شود، فقط نسخه موبایل خراب می‌شود.

افزونه کش می‌تواند منو را خراب کند؟

بله. گزینه‌های ادغام و تأخیر جاوااسکریپت از رایج‌ترین علت‌ها هستند؛ با استثنا کردن اسکریپت منو معمولاً مشکل حل می‌شود.

خودم می‌توانم این مشکل را حل کنم؟

اگر با خاموش کردن گزینه‌های بهینه‌سازی یا پاک کردن کش درست شد، بله. اگر علت خطای کد قالب باشد، به متخصص نیاز دارید.

مشکل

منوی همبرگری سایت در موبایل باز نمی‌شود

علائم و نشانه‌ها

  • لمس دکمه منو بی‌اثر است، خطای جاوااسکریپت در Console

علت‌های احتمالی

  • تأخیر یا ادغام JS در افزونه کش، تداخل افزونه، کش قدیمی، z-index

راه‌حل کوتاه

کش‌ها را پاک کنید، گزینه‌های بهینه‌سازی JS را بررسی و افزونه مقصر را پیدا کنید.

ابزارهای موردنیاز

  • Chrome DevTools، Health Check & Troubleshooting
اشتراک‌گذاری