نسخهء آفلاین

مشکلات موجود در نسخهء آفلاین سایت(3)

سلام به همراهان همیشگی بیگ تم.امیدورام که حال خودتون و سایت های وردپرسیتون خوب باشه.امروز هم با یک آموزش دیگه از سری آموزش های وردپرس در خدمت شما هستیم تا ببینیم امروز در دنیای وردپرس چه میگذرد!؟اگر از همراهان همیشگی بیگ تم باشید باید بدونید که چند وقتی هست که داریم در مورد یک تکنولوژی جدید که HTML5 اونرو ادائه داده صحبت میکنیم.در آموزش های قبلی با تکنولوژی  Offline Web Applications و نحوهء فعالسازی ان آشنا شدیم.در ادامه با ما همراه باشید با مشکلات موجود در نسخهء آفلاین سایت …

اگر مطالب قبلی را مطالعه نکردید حتما قبل از شروع آموزش امروز به آنها سری بزنید و با دقت آنها را بخوانید.د

مشکلات موجود در نسخهء آفلاین سایت

در مطالب بالا گفتیم که میتوان با استفاده از تکنولوزی Offline Web Applications از سایت یک نسخهء افلاین تهیه کرد و در اختیار کاربرانی گذاشت که شاید همیشه اینترنت در دسترس ندارند اما از همراهان همیشگی سایت شما هستند و لازم است که یک نسخهء آفلاین از سایت که شاید 90% شبیه نسخهء آنلاین را در اختیار این دسته از کاربران قرار دهید.درمطلب آموزش ساخت نسخهء آفلاین سایت خیلی راحت و سریع  نسخه آفلاین سایت را با توجه به انتخاب هایمان ایجادکردیم یعنی مشخص کردیم که کاربر در نسخهء آفلاین کدام صفحات سایت را داشته باشد و کدام رانه!در همان مطلب آموزش ایجاد نسخهء افلاین گفتیم که این روش و ایجاد نسخه آفلاین سایت در کنار حسن هایی که داره مشکلاتی هم داره که قول دادیم در مطالب بعدی به این مشکلات بپردازیم.امروز وفت آن رسیده که ببینیم ایجاد نسخهء آفلاین سایت ممکنه چه مشکلاتی داشته باشه که ما به عنوان مدیر سایت باید از آن مطلع باشیم. 😐

1-شاید اولین مشکل یا نکته ای که در طراحی و ایجادنسخهء آفلاین سایت باید در نظر گرفته شود آدرس دهی درست در بخشmanifest  است.چرا که اگر آدرس های سایت شما یعنی آدرس تصاویر,استایل سایت و ………در یکی از بخش های فایل manifest وجود نداشته باشند,آن بخش از سایت برای کاربر هم در زمانی که کاربر آفلاین است بار گذاری نمیشود هم زمانی که آنلاین است.برای حل این مشکل یک راه حل ساده وجود دارد:

  • کارکتر میانبر * در بخش ‘ NETWORK ‘ استفاده کنید.

2-اگر سایت سنگینی دارید مثلا در سایتتان از فایلهای ویدئویی و صوتی استفاده میکنید,پیشنهاد میکنم که این اطلاعات را در نسخهء آفلاین فاکتور بگیرید,به چند دلیل:

  • همانطور که در بخش ایجاد نسخهء افلاین (آموزش ساخت نسخهء آفلاین سایت)گفتیم,اطلاعات سایت شما برای نمایش داده شدن در زمانی که کاربر افلاین است در حافظهء مرورگر قرار میگیرد.این حافظه که نا محدود نیست.پس باید در نظر داشته باشیم که چه حجم اطلاعاتی را در حافظهء مرورگر کاربر قرار میدهیم.مثلا فایهای سنگین مثل ویدئو و صوت را لازم نیست در نسخهء آفلاین برای کاربر درنظر بگیرید.پس بهتره آدرس این فایلهای سنگین رو در قسمت ‘NETWORK’ وارد کنید.

3-در آموزش ساخت نسخهء آفلاین سایت گفیتم که بعد از ایجاد فایل manifest  و وارد کردن اطلاعات موردنیاز در این فایل,می بایست خصیصهء manifest رابه تمام فایلهای html موجود در سایتمان ارجاع میدادیم.باید شما مطمعن شوید که تمام فایلهای html سایتتان این خصیصه برایشان تعریف شده باشد وگرنه آن صفحاتی که این خصیصه را نداشته باشند در مخزن Offline Web Applications  قرار نمیگیرند.همانطور که گفیتم برای ایجاد نسخهء آفلاین سایت تنها ایجاد یک فایل manifest  کافی است.اما همین یک فایل باید برای تمام صفحات html مشخص شود تا به درستی کار کند.

 به روز کردن محتویات مخزن Offline Web Apps

شاید بزرگترین مشکل نسخهء آفلاین همان سوالی باشد که از ابتدا ذهن شمارا مشغول کرده است و آن هم بروز کردن مخزن Offline Web Apps یا همان بروز کردن نسخه آفلاین است.باید بدانیم که چطور نسخهء افلاین را بروز کنیم.بزرگترین مشکل زمانی رخ میدهد که زمانی نسخهء افلاین بروز میشود که فایل manifest بروز شود.مثلا زمانی که شما در حال تغییراتی در سایت هستید و به همین منظور فایلهای css&html&………..سایتتان را ویرایش میکنید و تغییراتی در محتوای این فایلها ایجاد میکنید.تا اینجا که مشکلی نیست.مشکل آنجاست که فایل

manifest همزمان و اتوماتیک با تغییرات شما تغییر نمیکند و سرور هم متوجه تغییری در اطلاعاتی که در مخزن Offline Web Apps است,نمیشود.اما این مشکل هر قدر هم که بزرگ باشد بیگ تم راه حل آن را به شما ارائه میدهد.برای حل این مشکل تنها کافی است

که نسخه فایل manifest را درون آن به صورت کامنت قرار دهید،به این ترتیب زمانی که شما در فایل های سایتتان تغییراتی اعمال مکنید,کافی است نسخهء این فایل را تغییر دهید تا سرور اطلاعات درون مخزن را آپدیت کند.برای این کارکافی است این کد را وارد فایل manifest  کنید:

 

CACHE MANIFEST # version 0.1 CACHE: index.html . .

یک نکته را در نظر داشته باشید  که خط اول فایل manifest حتما باید عبارت ‘CACHE MANIFEST’ باشد و نباید کامنت را در خط اول وارد کنید.

در مخزن قرار گرفتن فایل cach.manifest

و اما یک مشکل بزرگ دیگر در کار با Offline Web Apps و  ایجاد نسخهء آفلاین سایت,همان فایل manifest است که از ابتدا در موردش صحبت کردیم.مشکل در مورد این فایل این است که در مخزن Offline Web Apps قرار میگرد.شاید با توجه به توضیحاتی که تا اینجا داده شد با خودتان بگویید که اگر این فایل در مخزن قرار نگیرد که همه چیز به هم میریزد!!!در واقع مشکل اصلی زمانی رخ میدهد که تنظیمات سرور شما به گونه ای باشد که اجازه دهد فایل manifest درون مخزن قرار گیرد که در بیشتر موارد هم به همین صورت است و فایلهای استاتیک در مخزن Offline Web Apps قرار میگیرند و مرورگر فایلها را از مخزن فراخوانی میکند در حالی که باید از سرور درخواست کند.خب حالا مشکل این کار چیست؟؟

مشکل آنجاست که اگر فایلهای شما روی سرورتان تغییر کرده باشد که درستش هم همین است اما مررگر چون از سرور اطلاعات را نمیگیرد,پس متوجه تغییرات هم نشده و چیزی را نشان نمیدهد.برای حل این مشکل پیشنهاد میکنم که مخزن برنامه ی تحت وب و مخزن مرورگر را خالی کنید و اگر مشکل همچنان پا بر جا بود در داخل فایل.htaccess (در وب سرور آپاچی) کد زیر را قرار دهید:

 

ExpiresActive On ExpiresDefault “access”

معنای این کد چیست؟!

این کد به سرور میگوید که همیشه و همیشه فایل cache.manifestرا منقضی اعلام کنداین دستور سبب میشود  که همیشه این فایل از سرور درخواست شود و نه مخزن مرورگر.

 

بخش Fallback

این بخش را نمیتوان به عنوان مشکل نسخه افلاین سایت دانست بلکه بیستر میتوان به چشم یک option و یا امکان اضافی در این تکنولوژی دانست که به نظرم دانستنش خالی از لطف نیست.

مطمعن هستم که همهء شما با صفحهء 404آشنا هستید.شما زمانی با این صفحه مواجه میشوید که آدرسی  را برای دسترسی به یک صفحه از سایتی در مرورگر وارد کرده اید,اما صفحهء این آدرس به هر دلیلی وجود ندارد.در بعضی موارد دیده اید که بعضی سایتها صفحات 404 بسیار زیبا و خاصی دارند و از طراحی به غیر از طراحی defult استفاده میکنند.در نسخهء آفلاین سایت هم قسمتی برای این کار وجود دارد به نام

Fallback.

Fallback:

بخش اختیاری است که در نسخه آفلاین سایت میتوانید از  آن استفاده کنید و این امکان را به شما میده که اگر هر فایل یا صفحه ای از سایت ه هر دلیلی در نسخه آفلاین بارگذاری نشد چه صفحه ای یه عنوان جایگزین نمایش داده شود.مثلا همانطور که در بالا گفیتم بهتره که فایلهای ویدئویی را در نسخه آفلاین قرار ندهید,حالا ببینیم چطور برای آن جایگزین قرار دهیم.

Fallbackیک خصیصه است میتوان آن را در همان فایل manifest  قرار داد.اطلاعاتی که در Fallback قرار دو نوع هستند:

  1. اطلاعاتی که مربوط هستند به صفحاتی که بار گذاری آن مشکل دارد.(حالا هر مشکلی)
  2. اطلاعاتی که مربوط هستند به صفحاتی که میخواهیم جایگزینی برای نمایش آنهادر نسخهء آفلاین داشته باشیم.

مثال از حال اول:شما یک فایل تصویری دارید که در پوشهء videos قرار دارد.میخواهید زمانی که کاربر افلاین بود یک عکس که در فایل images قرار دارد,به جای آن ویدئو نمایش داده شود.برای این کار باید به صورت زیر عمل کنید و کدی مانند کد زیر را در فایل manifest  وارد کنید.

FALLBACK: videos / images/offline.png

مثال از حالت دوم:شما میتوانید برای اینکه همان صفحهء 404 رو به کاربر نشان دهید یعنی زمانی که فایلهای سایت شما به هر دلیلی بارگذاری نشد,شما میتوانید یک صفحه به دلخواه خودتان بسازید و آن را در بخش Fallback  قرار دهید تا از این به بعد این صفحه نمایش داده شود.

برای این کار ابتدا صفحه راایجاد کنید و سپس کد زیر را در فایل manifest   قرار دهید.

FALLBACK: / /off.html

در این کد اولین ‘ / ‘ به معنای تمامی آدرس های سایت است.

دوستان خوب و همراهان بیگ تم به نظره من تمام نکات و آموزش هایی که برای استفاده از تکنولوژی Offline Web Applications و نحوهء راه اندازی آن نیاز بود که بدانیم  در این مطلب و دو مطلب گذشته به آن ها پرداخته شد.

شما اگر این سه آموزش را به طور کامل و با دقت مطالعه کنید و قدم به قدم با آن پیش بروید میتوانید بدون مشکل از سایتان یک نسخهء آفلاین برای کاربرانتان بسازید تا آنها همیشه حتی زمانی که به اینترنت دسترسی نداردند هم بتواندد به سایت شما بیایند و از اطلاعات سایت شما استفاده کنند.همونطور که همیشه گفتم اگر به نظر شما نکته ای از قلم افتاده میتوانید آن را از قسمت کامنتها با ما در میون بگذارید.

همیشه شاد و پیروز باشید.

بیگ تم مرجع تخصصی وردپرس ، افزونه وردپرس و قالب وردپرس

یک نظر

  1. بهرام

    با سلام و تشکر ار آموزش مفیدتون
    من فایل cache.manifest رو ایجاد کردم و تنظیمات htaccess رو هم انجام دادم و به خوبی هم کار میکنه اما مشکلی که وجود داره صفحه index سایت که همون صفحه اول باشه رو هم کش میکنه. تو یک سایت خارجی خوندم که نوشته بود این فایل تو هدر هر صفحه ای که فراخوان بشه به صورت اتومات اون صفحه رو هم کش میکنه. یک سری راه حل هایی هم که به ذهنم رسید تست کردم اما هیچکدوم ج نداد. مننون میشم راهنمایی کنید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *