گروه مقاله : HTML 5
تاريخ انتشار : 1394/02/31 - 09:42
كد :513

نسخه offline سایت

به کمک HTML5 مي توان به سادگي يک نسخه offline از برنامه وب را با ايجاد يک فايل Manifest ساخت.
Application Cache چيست؟
Offline Web Applications یا همان برنامه های تحت وب خارج از شبکه ، تکنولوژی تقریبا جدیدی است که توسط HTML5 ارائه شده. برنامه های خارج از شبکه ی HTML5 به ما اجازه می دهد تا با یک وب سایت در حالت offline و بدون دسترسی یه اینترنت تعامل داشته باشیم. به عبارت دیگر امکان ذخيره شدن صفحات مرور شده بر روي کامپيوتر کاربر و مشاهده آنها را در زمان قطع ارتباط با اينترنت (offline) را فراهم مي کند.
 
مزایای Application Cache:
  • مرور offline: کاربران مي توانند صفحات مورد نظر را حتي در زمان offline، نيز مشاهده نمايند.
  • سرعت بالاتر: صفحات ذخيره شده بر روي کامپيوتر کاربر با سرعت بيشتري لود و فراخواني مي شوند.
  • کاهش حجم اطلاعات ارسالي از سرور: باعث کاهش حجم اطلاعات ارسالي از سرور شده و مرورگر فقط صفحاتي که تغيير کرده اند، را مجددا فراخواني مي کند.
پشتيباني مرورگرها
مرورگرهاي Internet Explorer 10+, Firefox, Opera, Chrome, Safari متد Application Cache را پشتيباني مي کنند.
 
مثالي از يک صفحه HTML با قابليت Application Cashe
مثال زير، يک صفحه وب با قابليت مرور offline صفحات در کامپيوتر کاربر را نشان مي دهد. 
<!DOCTYPE HTML>
<html manifest="demo.appcache">
 
<body>
The content of the document......
</body>
 
</html>
 
فعال نمودن قابليت Application Cache
براي راه اندازی نسخه offline در سایت ، در تگ <html>، خاصيت manifest را با نام فايل manifest تنظيم نماييد:
<!DOCTYPE HTML>
<html manifest="demo.appcache">
...
</html>
هر صفحه اي که خاصيت manifest براي آن مشخص شده باشد، با هر بار مشاهده کاربر در حافظه ذخيره مي شود (Cached).
اگر خاصيت manifest تنظیم نشده باشد، صفحه مورد نظر در حافظه ذخيره نمي شود (مگر اينکه بطور مستقيم صفحه مورد نظر را در فايل manifest مشخص نماييد.)
فرمت رايج براي ذخيره فايل هاي manifest، فرمت "appchache." است.
فايل Manifest يک فايل متني ساده است و به مرورگر می گوید چه چیزهایی را Cache کند و چه چیزهایی را Cache نکند.
اين فايل شامل 3 قسمت است:
  • Cashe ManiFest: فایل های تعيين شده در اين قسمت پس از اینکه برای اولین بار دریافت شوند ، Cache خواهند شد.
  • Network: فايل هاي تعيين شده در اين قسمت نیاز به اتصال به سرور دارند ، و هرگز کش نخواهند شد.
  • Fallback: فايل يا فايل هاي ذخيره شده در اين قسمت، در صورتي که به هر دليل صفحه مورد نظر کاربر، قابل دسترسي نباشد، فراخواني مي شوند. (به جاي فايل اصلي)
CACHE MANIFEST
در خط اول، ذکر عبارت CACHE MANIFEST الزامي است:
CACHE MANIFEST
/theme.css
/logo.gif
/main.js
در فايل Manifest بالا، ليست فايل هايي که بايد Cache شوند آورده شده است، يک فايل CSS، يک عکس با فرمت gif. و يک فايل JavaScript.
زماني که فايل Manifest اجرا مي شود مرورگر 3 فايل تعيين شده را از سرور سايت، دانلود و ذخيره مي کند. بنابراين هر زمان که کاربر به اينترنت متصل نباشد، ساير فايل هاي جانبي صفحه (مثل تم يا اسکريپت ها) نيز قابل دسترس خواهند بود.
 
NETWORK
قسمت Network در کد زیر مشخص می کند که فایل "login.asp" هرگز نباید cache شود و در حالت offline در دسترس نخواهد بود (فايل هايي که در زير عبارت Network تعيين شوند هيچگاه توسط مرورگر Cache نخواهند شد).
 
NETWORK:
NETWORK:
login.asp
 
از علامت ستاره (*) مي توانيد براي نشان دادن اينکه تمام فايل ها، نياز به ارتباط اينترنتي دارند استفاده نماييد:
NETWORK:
*
 
FALLBACK
قسمت FALLBACK مشخص می کند که در صورتي که صفحه به هر دليلي قابل دسترسي و مشاهده نباشد، فايلي که در زير اين عبارت تعيين می شود، نشان داده شود.
در مثال زير، فايل "offline.html" در صورتي که ارتباط با اينترنت ميسر نباشد، بجاي تمام فايل هايي که در پوشه /html/ قرار دارند، بکار خواهد رفت:
FALLBACK:
/html/ /offline.html
 
Update و به روز رساني فايل هاي Cache شده
فايلي که بر روي کامپيوتر کاربر ذخيره مي شود (Cache  می شود)، بدون تغيير باقي مي ماند. مگر اينکه يکي از حالات زير اتفاق بيافتد:
  • کاربر اطلاعات Cache شده مرورگر را پاک کند.
  • فايل Manifest تغيير کند.
  • Application Cache بصورت برنامه ريزي شده تغيير کند. 
مثال _ فرم نهايي فايل MANIFEST
CACHE MANIFEST
# 2012-02-21 v1.0.0
/theme.css
/logo.gif
/main.js
 
NETWORK:
login.asp
 
FALLBACK:
/html/ /offline.html
 
نکته: خطوطي که با کاراکتر "#" شروع مي شوند، توضيحات هستند (comments)، اما مي توان از آن براي اهداف ديگري نيز استفاده نمود. مرورگر پس از ذخيره صفحه بر روي کامپيوتر کاربر، همواره صفحه ذخيره شده را نمايش داده و اگر فايل اصلي تغيير کند به کاربر اطلاع نمي دهد، مگر اينکه فايل Manifest آنرا Update کنيد. يکي از راه هاي دوباره Cache کردن فايل ها توسط مرورگر، اين است که تاريخ و نسخه مشخص شده در خط Comment را تغيير دهيد.
نکته : مرورگرهاي مختلف محدوديت مشخصي در حجم فايل هاي ذخيره شده لحاظ مي کنند (معمولا مرورگرها، حداکثر 5 مگابايت براي ذخيره فايل هاي هر سايت اختصاص مي دهند)
نظرات كاربران :