জাভাস্ক্রিপ্টে ক্যাশে সাফ করুন


179

আমি কীভাবে জাভাস্ক্রিপ্ট সহ কোনও ব্রাউজার ক্যাশে সাফ করব?

আমরা সর্বশেষতম জাভাস্ক্রিপ্ট কোড মোতায়েন করেছি তবে আমরা সর্বশেষতম জাভাস্ক্রিপ্ট কোড পেতে অক্ষম।

সম্পাদকীয় দ্রষ্টব্য: এই প্রশ্নটি নিম্নলিখিত জায়গাগুলিতে অর্ধ নকল করা হয়েছে এবং নিম্নলিখিত প্রশ্নের প্রথমটিতে উত্তর সম্ভবত সেরা। এই গৃহীত উত্তরটি আর আদর্শ সমাধান নয়।

ক্যাশেড সিএসএস / জেএস ফাইলগুলি পুনরায় লোড করতে ব্রাউজারকে কীভাবে বাধ্য করবেন?

আমি কীভাবে ক্লায়েন্টদের জাভাস্ক্রিপ্ট ফাইলগুলি রিফ্রেশ করতে বাধ্য করতে পারি?

গতিশীলভাবে স্থানীয় জাভাস্ক্রিপ্ট উত্স / জসন ডেটা পুনরায় লোড করুন


5
এটি আমাকে বিভ্রান্ত করে: "আমরা সর্বশেষতম জাভাস্ক্রিপ্ট কোডটি মোতায়েন করেছি তবে আমরা সর্বশেষতম জাভাস্ক্রিপ্ট কোডটি পেতে পারি না"
উদাহরণস্বরূপ আমার

14
আমার ধারণা, আপনি কীভাবে ক্লায়েন্ট ব্রাউজারগুলিকে জাভাস্ক্রিপ্টের সর্বশেষ সংস্করণটি ব্যবহার করতে বাধ্য করবেন এবং তাদের ক্যাশেড সংস্করণ নয় - সেক্ষেত্রে আপনার গ্রেগের উত্তর প্রয়োজন। আপনি যদি নিজের ব্রাউজারে এটি কীভাবে করতে চান তা জানতে চাইলে এটি ডেভিড জনস্টনের উত্তর।
বেনজল


4
একটি সাধারণ পদ্ধতি হ'ল ?version=xxxবিল্ড স্টেপের মাধ্যমে আপনার জেএস লিঙ্কযুক্ত ফাইলগুলিতে একটি সংযুক্তি । প্রতিটি নতুন বিল্ড জেএস ফাইলের একটি নতুন সংস্করণের জন্য অনুরোধ করবে।
জুয়ান মেন্ডেস

1
@ জুয়ানমেন্ডেস এটি সর্বদা কার্যকর হয় না। লোকেদের সর্বশেষ ফেভিকনটি দেখার চেষ্টা করার সময় এই একই পদক্ষেপটির পরামর্শ দেওয়া হয়। এটি কেবল কাজের গ্যারান্টিযুক্ত নয়।
uSeRnAmEhAhAhAhAhAhA

উত্তর:


202

আপনি বর্তমান পৃষ্ঠাটি পুনরায় লোড করার জন্য উইন্ডো.লোকেশন.রেলোড (সত্য) কল করতে পারেন । এটি কোনও ক্যাশেড আইটেম উপেক্ষা করবে এবং সার্ভার থেকে পৃষ্ঠা, সিএসএস, চিত্র, জাভাস্ক্রিপ্ট ইত্যাদির নতুন কপিগুলি পুনরুদ্ধার করবে। এটি পুরো ক্যাশেটি সাফ করে না, তবে আপনি যে পৃষ্ঠায় আছেন তাতে ক্যাশে সাফ করার প্রভাব রয়েছে।

যাইহোক, আপনার সেরা কৌশলটি অন্যান্য বিভিন্ন উত্তরে উল্লিখিত পাথ বা ফাইলের নামটি সংস্করণ করা। তদতিরিক্ত, ফাইলের নামগুলি পুনর্বিবেচনা দেখুন :?v=n আপনার সংস্করণ স্কিম হিসাবে ব্যবহার না করার কারণে ক্যোরিস্ট্রিং ব্যবহার করবেন না


6
ওহ ধন্যবাদ! এটি একটি এইচটিএমএল 5 অ্যাপ্লিকেশন ক্যাশের পাশাপাশি একটি ক্যাশে.মেনিস্ট ফাইল থেকে লোড করাও ভাল কাজ করে। আমার একটি পুরানো ম্যানিফেস্ট ছিল যা মেমোরি থেকে সরানো হচ্ছে না, সুতরাং এটির মধ্যে থাকা একটি ব্রাউজার নতুন ফাইলগুলি প্রদর্শন করবে না। আমি এটি জাভাস্ক্রিপ্ট কনসোলে টাইপ করেছি এবং ভাল কাজ করেছি। ধন্যবাদ!
জেক্রস্লার

2
কিন্তু ফাইলের নাম পরিবর্তন করে পুনরুদ্ধার করা হচ্ছে ... আপনি কি আগের সমস্ত সংস্করণগুলি রাখবেন না? অন্যথায় আপনি অনুসন্ধান ইঞ্জিনগুলি থেকে প্রচুর ব্যর্থ প্রচেষ্টা পেয়ে যাবেন এবং পুরানো সংস্করণগুলি (বা বুকমার্কড / লিঙ্কযুক্ত চিত্রগুলি) কী পড়বেন না
রোডলফো

1
কীভাবে আমি এটি ভেবে
দেখিনি

1
রিফ্রেশ বোতামে ব্যবহারকারী ক্লিক হিসাবে এটি কি একই?
জিএমএসএফ

2
@ ম্যানুয়েল এটি ঠিক সেই ইউআরএলটির ক্যাশে থেকে পৃষ্ঠাটি অ্যাক্সেস করতে অক্ষম করবে যা আপনি লোকেশন.রেলোড (সত্য) বলেছিলেন। এটি কখনই মূল পৃষ্ঠাকে ক্যাশে থেকে সাফ করে না কারণ এটি কেবল নতুন অনুরোধে টাইম স্ট্যাম্প সংযোজন করে এবং যদি এই পৃষ্ঠাটির দ্বারা সংবিধানে অন্য কল করা হয় তবে সেই অনুরোধগুলি তাদের ক্যাচিং আচরণ অক্ষম করবে না। যেমন। আপনি যদি এমন কোনও পৃষ্ঠা পুনরায় লোড (সত্য) দিয়ে রিফ্রেশ করেন যা কিছু এইচটিএমএল লোড করে এবং সেই পৃষ্ঠায় একটি স্ক্রিপ্ট রয়েছে যা একই পৃষ্ঠায় আরও এইচটিএমএল প্রদর্শিত হওয়ার জন্য দ্বিতীয় এজাক্স কল করে, দ্বিতীয় অনুরোধটির ক্যাশে অক্ষম থাকবে না।
জে শাইই

114

আপনি জাভাস্ক্রিপ্ট সহ ক্যাশে সাফ করতে পারবেন না। একটি সাধারণ উপায় হ'ল ফাইলটিতে পুনর্বিবেচনা নম্বর বা সর্বশেষ আপডেট হওয়া টাইমস্ট্যাম্প যুক্ত করা:

myscript.123.js

অথবা

myscript.js?updated=1234567890


9
তবে নোট করুন যে অনেকগুলি প্রক্সি একটি ক্যোরি স্ট্রিং থাকা অবস্থায় কোনও ফাইলকে ক্যাশে করবে না। কেভিন হাকানসনের উত্তর দেখুন ।
chiborg

4
পুরো এইচটিএমএল ক্যাশে হয়ে গেলে কীভাবে আমি ক্যাশে সাফ করতে পারি? ক্যাশেড এইচটিএমএলের কারণে সংস্করণ নম্বরটি যুক্ত করা হলেও এটি প্রভাব ফেলবে না lease দয়া করে সহায়তা করুন
নন্দকুমার

আমি যদি ক্যাশে আইটেমটি সাফ করতে না পারি, তবে MDN কেন বলে যে আমি পারি? আমি কী মিস করছি? এমডিএন যা বলেছে তা চেষ্টা করেছি কিন্তু ভাগ্য নেই।
Sнаđошƒаӽ

41

জাভাস্ক্রিপ্ট ফাইলের এসআরসি পরিবর্তন করার চেষ্টা করবেন? এটা থেকে:

<script language="JavaScript" src="js/myscript.js"></script>

এটি:

<script language="JavaScript" src="js/myscript.js?n=1"></script>

এই পদ্ধতিটি আপনার ব্রাউজারকে জেএস ফাইলের একটি নতুন অনুলিপি লোড করতে বাধ্য করবে।


এন = 1 কী করে?
কিয়েলজেএমডি

এটি ভিন্ন কিছু হওয়া ছাড়া কিছুই করে না। এটি হতে পারে? 12345 বা? কাইল
Oneezy

তাহলে ফাইলের নামও বদলাতে হবে? অথবা কেবলমাত্র এসআরসি পাথ যা পরিবর্তন করা দরকার?
ফ্রেড এ

20

প্রতি ঘন্টা বা প্রতি সপ্তাহে ক্যাচিং ব্যতীত, আপনি ফাইলের ডেটা অনুসারে ক্যাশে করতে পারেন।

উদাহরণ (পিএইচপিতে):

<script src="js/my_script.js?v=<?=md5_file('js/my_script.js')?>"></script>

এমনকি ফাইল পরিবর্তনের সময় ব্যবহার করুন:

<script src="js/my_script.js?v=<?=filemtime('js/my_script.js')?>"></script>

3
আমি কি এটি যাচাই করতে পারি তা আমি সঠিকভাবে বুঝতে পারি ?: বিকল্প 1 এর সাথে ফাইলটি পরিবর্তিত হলে, এমডি 5 চেকসাম হ্যাশ পরিবর্তন হয় যা ইউআরএল পরিবর্তন করে। ব্রাউজারটি একটি নতুন ইউআরএল দেখে এবং ফাইলটির একটি নতুন লোড শুরু করে। Url এ যুক্ত করা ডেটা সার্ভার দ্বারা উপেক্ষা করা হবে। যদি এটি হয় তবে বেশ জঘন্য lick
কলিন ব্রোগান

1
এছাড়াও, MD5- আইং একটি সম্পূর্ণ ফাইল প্রসেসর নিবিড় হয়? আমি চিরকাল সিএসএস এবং জেএস ফাইলের জন্য এটি করার বিষয়টি বিবেচনা করছি তবে আমি এই কারণে সার্ভারের গতিতে হিট দেখে ঘৃণা করব।
কলিন ব্রোগান 22'13

2
চেকসাম ব্যবহার করা ভাল ধারণা, তবে এটি সঠিকভাবে করা উচিত। প্রতিটি ফাইলের জন্য প্রতিটি অনুরোধ এটি গণনা করা আপনার পারফরম্যান্সকে উল্লেখযোগ্যভাবে আঘাত করবে। ক্যোরিস্ট্রিং ক্যাশে দেওয়ার পক্ষেও ভাল নয়, অন্যান্য উত্তর দেখুন। সঠিক ব্যবহারটি হ'ল ফাইলনেমে একটি চেকসাম (অংশ?) বা সংস্করণ নম্বর যুক্ত করা এবং পরিবর্তে এই নতুন নামটি ব্যবহার করা (আপনি মোতায়েনের সময় এই স্বয়ংক্রিয়ভাবে করতে একটি বিল্ড স্ক্রিপ্ট ব্যবহার করতে পারেন)। দেখুন ঘোঁৎ ঘোঁৎ , Rev এবং usemin
ফ্রিজি

10

আপনি পিএইচপি তে এইভাবে প্রতি ঘন্টা ঘন্টা কোডটি পুনরায় লোড করতে বাধ্য করতে পারেন:

<?php
echo '<script language="JavaScript" src="js/myscript.js?token='.date('YmdH').'">';
?>

অথবা

<script type="text/javascript" src="js/myscript.js?v=<?php echo date('YmdHis'); ?>"></script>

1
হাই, "ভি" এবং "টোকেন" অর্থ কী?
GMsoF

4
@ জিএমএসএফ এটি কেবলমাত্র একটি অতিরিক্ত পাওয়ার প্যারামিটার যা ব্যবহার করা হয় (এই ক্ষেত্রে) এটি একটি "আলাদা" ফাইল " যাতে ব্রাউজারটি ক্যাশেড সংস্করণটি বাতিল করে দেয় এবং পরিবর্তে এটি লোড করে দেয়। এটি প্রায়শই কোনও ফাইলের "শেষ পরিবর্তিত তারিখ" দিয়ে ব্যবহৃত হয়। আমি আশা করি এই জ্ঞান করে তোলে ;-)
Jelmer

6

এটি আপনার টেম্পলেটটির শেষে রাখুন:

var scripts =  document.getElementsByTagName('script');
var torefreshs = ['myscript.js', 'myscript2.js'] ; // list of js to be refresh
var key = 1; // change this key every time you want force a refresh
for(var i=0;i<scripts.length;i++){ 
   for(var j=0;j<torefreshs;j++){ 
      if(scripts[i].src && (scripts[i].src.indexOf(torefreshs[j]) > -1)){
        new_src = scripts[i].src.replace(torefreshs[j],torefreshs[j] + 'k=' + key );
        scripts[i].src = new_src; // change src in order to refresh js
      } 
   }
}

1
দয়া করে আপনার সমাধান সম্পর্কে কিছু ব্যাখ্যা সরবরাহ করুন
গ্যাব্রিয়েল এস্পিনোজা

@ গ্যাব্রিয়েল এসপিনোজা তিনি জাভাস্ক্রিপ্ট ব্যবহার করে ফাইলগুলি পুনরায় লোড করেছেন, যা ক্যাশেগুলি আপডেট হতে পারে।
নিও মরিনা 11

6

এটি ব্যবহার করার চেষ্টা করুন

 <script language="JavaScript" src="js/myscript.js"></script>

এটি:

 <script language="JavaScript" src="js/myscript.js?n=1"></script>

5

আমি আমার সর্বশেষ প্রকল্পের জন্য যা ব্যবহার করছি তার একটি স্নিপেট এখানে।

নিয়ামক থেকে:

if ( IS_DEV ) {
    $this->view->cacheBust = microtime(true);
} else {
    $this->view->cacheBust = file_exists($versionFile) 
        // The version file exists, encode it
        ? urlencode( file_get_contents($versionFile) )
        // Use today's year and week number to still have caching and busting 
        : date("YW");
}

দর্শন থেকে:

<script type="text/javascript" src="/javascript/somefile.js?v=<?= $this->cacheBust; ?>"></script>
<link rel="stylesheet" type="text/css" href="/css/layout.css?v=<?= $this->cacheBust; ?>">

আমাদের প্রকাশনা প্রক্রিয়া বর্তমান বিল্ডটির সংশোধন নম্বর সহ একটি ফাইল উত্পন্ন করে। এটি ইউআরএল সেই ফাইলটিকে এনকড করে এবং সেটিকে ক্যাশে বুস্টার হিসাবে ব্যবহার করে কাজ করে। ব্যর্থতা হিসাবে, যদি সেই ফাইলটি বিদ্যমান না থাকে তবে বছর এবং সপ্তাহের নম্বর ব্যবহার করা হয় যাতে ক্যাচিং এখনও কাজ করে, এবং সপ্তাহে অন্তত একবার তা রিফ্রেশ হবে।

এছাড়াও, এটি বিকাশের পরিবেশে থাকাকালীন প্রতিটি পৃষ্ঠার লোডের জন্য ক্যাশে বস্টিং সরবরাহ করে যাতে বিকাশকারীদের কোনও সংস্থান (জাভাস্ক্রিপ্ট, সিএসএস, অ্যাজাক্স কল, ইত্যাদি) জন্য ক্যাশে সাফ করার বিষয়ে চিন্তা করতে হবে না।


5

অথবা আপনি কেবল সার্ভারের মাধ্যমে ফাইলগুলি জেট ফাইল পড়তে পারবেন ফাইল_জেট_কন্টেটস এবং তারপরে শিরোনামে জেএস বিষয়বস্তু প্রতিধ্বনিত করতে পারেন


4

হতে পারে "ক্লিয়ারিং ক্যাশে" যতটা সহজ হওয়া উচিত তত সহজ নয়। আমার ব্রাউজারগুলিতে ক্যাশে সাফ করার পরিবর্তে, আমি বুঝতে পেরেছি যে "স্পর্শ" ফাইলটি সার্ভারে ক্যাশেড সোর্স ফাইলটির তারিখ পরিবর্তন করবে (পরীক্ষায় এজ, ক্রোম এবং ফায়ারফক্স) এবং বেশিরভাগ ব্রাউজারগুলি স্বয়ংক্রিয়ভাবে সর্বাধিক বর্তমানের তাজা কপি ডাউনলোড করবে আপনার সার্ভারে কী (কোড, গ্রাফিক্স কোনও মাল্টিমিডিয়াও)। আমি আপনাকে পরামর্শ দিচ্ছি যে আপনি সার্ভারের সর্বাধিক বর্তমান স্ক্রিপ্টগুলি অনুলিপি করুন এবং আপনার প্রোগ্রামটি চালুর আগে সমাধানটি "করুন" তাই এটি আপনার সমস্ত সমস্যার ফাইলগুলির তারিখকে সর্বাধিক বর্তমান তারিখ এবং সময় পরিবর্তন করবে, তারপরে এটি একটি নতুন কপি ডাউনলোড করবে আপনার ব্রাউজারে:

<?php
    touch('/www/control/file1.js');
    touch('/www/control/file2.js');
    touch('/www/control/file2.js');
?>

... আপনার বাকি প্রোগ্রাম ...

এই সমস্যাটি সমাধান করতে আমার কিছুটা সময় লেগেছে (যতগুলি ব্রাউজার বিভিন্ন কমান্ডের সাথে আলাদাভাবে কাজ করে তবে তারা সমস্ত ফাইলের সময় পরীক্ষা করে এবং আপনার ব্রাউজারে ডাউনলোড করা অনুলিপিটির সাথে তুলনা করে, যদি আলাদা তারিখ এবং সময় থাকে তবে তা রিফ্রেশ করবে), আপনি যদি অনুমিত সঠিক পথে যেতে পারে না, এর জন্য আরও একটি ব্যবহারযোগ্য এবং আরও ভাল সমাধান সর্বদা রয়েছে। শুভেচ্ছা এবং শুভ শিবির।


1
আমি এই পদ্ধতির পছন্দ করি, তবে সম্ভবত আমি এটি ভুল জায়গায় প্রয়োগ করছি? ওয়ার্ডপ্রেস সেটআপে এটি কোথায় যুক্ত করবেন কেউ জানেন? আমি এটি জাভাস্ক্রিপ্ট এবং সিএসএস ফাইলের সরাসরি লিঙ্কগুলির সাথে ফাংশন.এফপি ফাইলটিতে যুক্ত করেছি, তবে পরিবর্তনগুলি লক্ষ করার জন্য আমাকে এখনও একটি হার্ড পুনরায় লোড করতে হয়েছিল।
ফ্লিপ ফ্লপমিডিয়া

1
আপনাকে যা করতে হবে তা হল আপনার মূল এইচটিএমএল ওয়ার্ডপ্রেস ডিরেক্টরিতে, আপনার রিফ্রেশ এবং ডাউনলোড করতে হবে এমন ফাইলগুলিতে টাচ () কমান্ড কল করতে বা সম্পাদনের জন্য আপনার সূচি.পিএফপি সম্পাদনা করুন। আমার ছোট ছবি এবং জেএস ফাইলগুলির সাথে সমস্যা ছিল যা ক্যাশে আটকে গিয়েছিল। আমি স্মৃতি থেকে মুক্তি দেওয়ার জন্য বর্ণিত বেশিরভাগ পদ্ধতির চেষ্টা করেছি, তবে সবচেয়ে ভাল উপায় হ'ল একটি বর্তমান তাজা সঠিক লোড করা। আপনি কেবল "টাচ থিং" করে ফাইলটি কোনও পরিবর্তন করতে পারবেন না তা সম্পাদন করতে পারেন, কেবলমাত্র বর্তমান সময় এবং তারিখ আপডেট করুন যাতে আপনার ব্রাউজারটিকে ফাইল এবং সমস্যার অন্য সংস্করণটি স্থির করে নিতে বোকা বানাবে। বেশিরভাগ ব্রাউজারগুলিতে কাজ করে
লুইস এইচ ক্যাব্রেজো

3

ইয়বুসার্ড দ্বারা প্রস্তাবিত কোডটি নিয়ে আমার কিছুটা সমস্যা হয়েছিল। অভ্যন্তরীণ জ লুপ কাজ করে না। সাফল্যের সাথে আমি ব্যবহার করেছি এটির পরিবর্তিত কোড।

function reloadScripts(toRefreshList/* list of js to be refresh */, key /* change this key every time you want force a refresh */) {
    var scripts = document.getElementsByTagName('script');
    for(var i = 0; i < scripts.length; i++) {
        var aScript = scripts[i];
        for(var j = 0; j < toRefreshList.length; j++) {
            var toRefresh = toRefreshList[j];
            if(aScript.src && (aScript.src.indexOf(toRefresh) > -1)) {
                new_src = aScript.src.replace(toRefresh, toRefresh + '?k=' + key);
                // console.log('Force refresh on cached script files. From: ' + aScript.src + ' to ' + new_src)
                aScript.src = new_src;
            }
        }
    }
}

3

আপনি যদি পিএইচপি ব্যবহার করেন তবে এটি করতে পারেন:

 <script src="js/myscript.js?rev=<?php echo time();?>"
    type="text/javascript"></script>

6
এই প্রশ্নটি কেবল চার বছর আগে জিজ্ঞাসা করা হয়নি, এটি গ্রহণ না করা হলেও এর আরও ভাল উত্তর ছিল answer

4
এছাড়াও, এই পদ্ধতিটি প্রতিবার প্রকৃত সংশোধন নম্বর বা ফাইলটিতে করা পরিবর্তনগুলি নির্বিশেষে পুনরায় ফাইলটি ডাউনলোড করবে, যা কার্যকরভাবে ক্যাশেটিকে পুরোপুরি অক্ষম করে would
এন্টি 29

2

নতুন ক্রোম, ফায়ারফক্স এবং অপেরাতে ক্যাশে.ডিলেট () ব্যবহার করা যেতে পারে।


এটি কি সার্ভিস ওয়ার্কার্সের API এর অংশ নয়?
Bankksan

এমডিএন ডক্স থেকে @ ব্যাংকসীসান:You don't have to use it in conjunction with service workers, even though it is defined in the service worker spec.
ম্যাডব্রেকস

2

দয়া করে ভুল তথ্য দিবেন না। ক্যাশে API থেকে ক্যাশে একটি diferent ধরনের HTTP ক্যাশ

সার্ভারটি সঠিক শিরোনাম প্রেরণ করলে এইচটিটিপি ক্যাশে বরখাস্ত করা হয় , আপনি জাভাসভিপ্টের সাথে অ্যাক্সেস করতে পারবেন না।

ক্যাশে API অন্যদিকে এটা দরকারী যখন সঙ্গে কাজ করছে বহিস্কার করা হয় যখন আপনি চান, সেবা কর্মী যাতে আপনি অনুরোধ ছেদ এবং ক্যাশে এই ধরনের থেকে এটা উত্তর দিতে পারেন দেখুন: ilustration 1 ilustration 2 কোর্সের

আপনি এই ব্যবহারকারীদের সর্বদা আপনার ব্যবহারকারীর উপর একটি নতুন সামগ্রী থাকতে ব্যবহার করতে পারেন:

  1. অবস্থান ব্যবহার করুন। পুনরায় লোড করুন (সত্য) । পুনরায় লোড এটি আমার পক্ষে কাজ করে না, তাই আমি এটি পুনরুদ্ধার করব না।
  2. ক্যাশে সংরক্ষণ করার জন্য এবং পরিষেবা কর্মীর সাথে অনুরোধটি ছেদ করতে ক্যাশে এপিআই ব্যবহার করুন , এটির সাথে সতর্ক থাকুন কারণ সার্ভার যদি ক্যাশে শিরোলেখ প্রেরণ করে থাকে আপনার রিফ্রেশ করতে চাইলে যে ফাইলগুলি , ব্রাউজারটি প্রথমে এইচটিটিপি ক্যাশে থেকে উত্তর দেবে, এবং যদি এটি এটির সন্ধান না করে তবে এটি নেটওয়ার্কে চলে যাবে, যাতে আপনি এবং পুরানো ফাইলটি শেষ করতে পারেন
  3. আপনার থেকে কৌশলগুলি ফাইলগুলি থেকে url পরিবর্তন করুন, আমার পুনরুদ্ধারটি হ'ল আপনার ফাইলগুলির বিষয়বস্তুর পরিবর্তনের সাথে এটির নামকরণ করা উচিত, আমি এমডি 5 ব্যবহার করি এবং তারপরে এটি স্ট্রিং এবং ইউআরএল বান্ধব রূপান্তরিত করব এবং এমডি 5 ফাইলের সামগ্রীর সাথে পরিবর্তিত হবে, আপনি সেখানে এইচটিটিপি ক্যাশে শিরোনাম নিখরচায় প্রেরণ করতে পারে

আমি তৃতীয়টি পুনরায় পেশ করতে চাই দেখুন


2

আপনি মেটা এইচটিএমএল ট্যাগগুলির সাহায্যে ব্রাউজারের ক্যাচিং নিষ্ক্রিয় করতে পারেন যখন আপনি কোডিং / পরীক্ষার সময় ওয়েব পৃষ্ঠাকে ক্যাশে করা থেকে বাঁচতে কেবল মাথা বিভাগে এইচটিএমএল ট্যাগ রেখেছিলেন এবং যখন আপনি সম্পন্ন হন আপনি মেটা ট্যাগগুলি মুছে ফেলতে পারেন।

(প্রধান বিভাগে)

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0"/>

এটি আপনার মাথায় পেস্ট করার পরে রিফ্রেশ করুন এবং নতুন জাভাস্ক্রিপ্ট কোডটিও রিফ্রেশ করুন।

আপনার যদি প্রয়োজন হয় এই লিঙ্কটি আপনাকে অন্য বিকল্পগুলি দেবে http://cristian.sulea.net/blog/disable-browser-caching-with-meta-html-tags/

অথবা আপনি ঠিক তেমন একটি বোতাম তৈরি করতে পারেন

<button type="button" onclick="location.reload(true)">Refresh</button>

এটি রিফ্রেশ করে এবং ক্যাচিং এড়ায় তবে আপনি পরীক্ষা শেষ না হওয়া অবধি এটি আপনার পৃষ্ঠায় থাকবে then প্রথম মুষ্টির বিকল্পটি আমি সেরা।


1

আমি আমার ফ্রেমওয়ার্কটি সংস্করণ করতে চাইছি তারপরে সংস্করণ নম্বরটি স্ক্রিপ্ট এবং শৈলীর পথে প্রয়োগ করব

<cfset fw.version = '001' />
<script src="/scripts/#fw.version#/foo.js"/>

3
ওপি কোল্ডফিউশন সম্পর্কে উল্লেখ করেনি।
মার্ট্রেম

আপনার লিঙ্কের জন্য @ বিজয়দেব 404
স্মরণে

1
window.parent.caches.delete("call")

কনসোলে কোডটি কার্যকর করার পরে ব্রাউজারটি বন্ধ এবং খুলুন।


1
কিছু ব্যাখ্যা দয়া করে, উপরের কোডটিতে "কল" কী?
আনন্দ রকজ

@ অ্যানড্রোকজ এটি সম্ভব নয়, ক্যাশে এপিআই হ'ল একটি নতুন ধরণের ক্যাশে যা জাভাস্কিপ্টের সাহায্যে পরিচালনা করা যায়, সুতরাং সেখান থেকে কোনও কিছু মুছতে আপনি ডেভেলপার.মোজিলা.আর.ইন.ইউএস / ডকস / দেখার আগে এটি সংরক্ষণ করেছিলেন saved ওয়েব / এপিআই / ক্যাশে
জন বালভিন আরিয়াস

1

window.location.reload(true)এইচটিএমএল 5 স্ট্যান্ডার্ড দ্বারা অবহেলিত বলে মনে হচ্ছে। ওয়ান ওয়ে ক্যোয়ারী স্ট্রিং ব্যবহার না করেই এই কাজ করতে ব্যবহার করা Clear-Site-Dataহেডার , যা বলে মনে হয় মান হচ্ছে


0

ব্রাউজারের ক্যাশে একই লিঙ্কের কারণ, আপনার ইউআরএলের একটি এলোমেলো সংখ্যা শেষ করা উচিত। new Date().getTime()একটি পৃথক নম্বর উত্পন্ন।

new Date().getTime()কল হিসাবে লিঙ্কের শেষ যোগ করুন

'https://stackoverflow.com/questions.php?' + new Date().getTime()

আউটপুট: https://stackoverflow.com/questions.php?1571737901173


তাই আপনাকে স্বাগতম! আপনার উত্তরটি অস্পষ্ট। এটি সম্পাদনা করুন। লিঙ্কের উপর ভিত্তি করে এই ধরণের জবাবগুলি লিঙ্কটি অদৃশ্য হয়ে যাওয়ার ক্ষেত্রেই মন্তব্য করা উচিত।
ডেভিড গার্সিয়া বোদেগো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.