برطرف کردن مشکل وجود cache از فایل های css و js در مرورگر اینترنت، هنگامی که تغییراتی در آنها اعمال کرده ایم و می خواهیم فایل های جدید توسط مرورگر اینترنت دریافت شوند

همان طور که می دانید، مرورگرهای اینترنت، فایل های css و js را cache می کنند تا سرعت بارگذاری صفحات یک سایت بیشتر شود و نیازی به دریافت چندین باره فایل ها تکراری و ارجاع داده شده در تمام صفحات سایت، نباشد. اگرچه این عملکرد مرورگرهای اینترنت به بارگذاری سریعتر صفحات سایت ما کمک می کند، اما چنانچه ما تغییراتی را در این فایل ها اعمال کنیم، به دلیل اینکه مرورگر اینترنت، فایل های جدید را دریافت نمی کند و از فایل های cache شده استفاده می نماید، بنابراین کاربر سایت ما را آنگونه که باید (با تغییرات جدید) مشاهده نخواهد کرد و این موضوع باعث می شود که گاهی در صفحه ای که کاربر مشاهده می کند، برخی تغییرات جدید اعمال شده باشد و برخی تغییرات، به دلیل مشکل ذکر شده، اعمال نشوند و کاربر صفحه را به شکل نامناسبی مشاهده نماید.

برای برطرف کردن این مشکل، راه حل های مختلفی وجود دارد. اگر خود ما کاربر مشاهده کننده بودیم، می توانستیم با زدن دکمه refresh مرورگر اینترنت و یا با زدن همزمان دکمه های Ctrl و F5 از کیبورد، مرورگر اینترنت را مجبور کنیم که کلیه فایل های جدید را از سایتی که مشاهده می کنیم، دریافت نماید. اما اکنون که خود صاحب سایت هستیم، گزینه های مختلفی برای اجبار مرورگر اینترنت برای بارگذاری جدیدترین فایل های css و js داریم. در ادامه یکی از ساده ترین راه حل های رایج را شرح می دهیم.

مرورگر اینترنت، بر اساس آدرس URL فایل های css و js ، آنها را cache می کند. یعنی اگر آدرس فایل، جدید باشد، آنگاه آن را به عنوان یک فایل جدید در نظر می گیرد (اما اگر تکراری باشد و قبلا cache شده باشد، از فایل cache شده استفاده می کند). بنابراین، با تغییر آدرس URL فایل های css و js می توانیم آنها را به عنوان فایل های جدید به مرورگر اینترنت معرفی نماییم تا عملا فایل های قبلی cache شده توسط مرورگر اینترنت، دیگر استفاده نشوند.

اما نکته مهمی که در این زمینه وجود دارد این است که یک برنامه نویس، به محض خواندن راه حل فوق، مراحلی مثل انتخاب نام جدید برای فایل، درج نام جدید در کدها و حذف فایل قبلی قرار گرفته در هاست به ذهنش می رسد، یعنی نامگذاری فایل ها به شکل زیر (برای نسخه های مختلف فایل در طول زمان) :


script_1.0.css // This is the URL for release 1.0
script_1.1.css // This is the URL for release 1.1
script_1.2.css // etc.

اگرچه روش بالا صحیح است، اما می توان به شکل راحت تری هم آدرس URL فایل را تغییر داد، به گونه ای که نیازی به تغییر نام خود فایل نباشد و تنها کد مربوط به ارجاع به فایل را تغییر بدهیم :


script.css?v=1.0 // This is the URL for release 1.0
script.css?v=1.1 // This is the URL for release 1.1
script.css?v=1.2 // etc.

مشاهده می کنید که تنها با انتخاب مقادیر متفاوت برای یک متغیر با نام v (از ابتدای کلمه version گرفته شده)، آدرس URL فایل را تغییر داده ایم و بنابراین، مرورگر اینترنت، دوباره فایل را دریافت خواهد کرد.

نویسنده علیرضا گلمکانی
شماره کلید 3498
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 0 0 0

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)

جستجو در کلیدستان، توسط گوگل

جستجو در عنوان کلیدها

دسترسی سریع

کلید
×

شماره کلید


دسته بندی
×

شماره دسته کلید


جستجو
×

جستجو