প্রতিবার যখন আমি কোনও ওয়েবসাইটে অ্যাক্সেস করি তখন গুগল ক্রোমকে নতুন জাভাস্ক্রিপ্ট ফাইলগুলি পরীক্ষা করতে বাধ্য করুন


25

সুতরাং, যদি আমি ইন্টারনেট এক্সপ্লোরারে ইন্টারনেট বিকল্পগুলিতে যাই: এখানে চিত্র বর্ণনা লিখুন

আমি যখন আপডেটগুলি পরীক্ষা করি তার জন্য আমি সেটিংস সামঞ্জস্য করতে পারি: এখানে চিত্র বর্ণনা লিখুন

আমি কি গুগল ক্রোমে অনুরূপ কিছু করতে পারি? এখনই যখন আমি আমার জাভাস্ক্রিপ্ট ফাইলটি পরিবর্তন করি এবং ভিজ্যুয়াল স্টুডিও থেকে ডিবাগ করি, ক্রোম সর্বদা পরিবর্তিত সংস্করণ ব্যবহার না করে ক্যাশেড সংস্করণ ব্যবহার করবে। বর্তমান সংস্করণটি ব্যবহার করতে সক্ষম হতে আমার নিজের অস্থায়ী ইন্টারনেট ফাইলগুলি / ক্যাশে ম্যানুয়ালি মুছে ফেলতে হবে যা সত্যিই বিরক্তিকর।


14
আপনি এর পরিবর্তে ভিজ্যুয়াল স্টুডিও দ্বারা করা ক্যাচিং অক্ষম করবেন না কেন? (সিরিয়াসলি,
হ্যাকের মধ্যে কে কে কেশিং

2
@ jpmc26 কি ক্যাচিং?
ইজোশুয়াস - মনিকা

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

1
কোনও ভিজ্যুয়াল স্টুডিও বিকল্প খুঁজে পাওয়া যায় নি তবে একটি ডেভেলপমেন্ট ওয়েবকনফিগ পরিবর্তন ভিজ্যুয়াল স্টুডিওতে ক্যাচিংয়ের সমাধান করতে পারে। iis.net/configreferences/system.webserver/staticcontent/…
জিইআর

1
ক্রোম এক্সটেনশান "ক্যাশে কিলার" এটি আমার জন্য সমাধান করেছে, কেন জানি না তবে
সিটিআরএল

উত্তর:


55

বিকল্প 1: সাময়িকভাবে ক্যাশে অক্ষম করুন

  1. বিকাশকারী সরঞ্জামগুলি খুলুন (টিপুন F12বা মেনু, আরও সরঞ্জাম, বিকাশকারী সরঞ্জাম)
  2. বিকাশকারী সরঞ্জামসমূহ সেটিংস খুলুন (প্রেস F1বা ডেভটুলস মেনু, সেটিংস)
  3. অগ্রাধিকার ফলকের নেটওয়ার্ক শিরোনামের অধীনে "ক্যাশে অক্ষম করুন (ডেভটুলগুলি উন্মুক্ত রয়েছে)" পরীক্ষা করুন

বিকল্প 2: সেশনের জন্য ক্যাশে অক্ষম করুন

কমান্ড-লাইন সুইচগুলি দিয়ে ক্রোম শুরু করুন --disk-cache-size=1 --media-cache-size=1যা ক্যাশে কার্যকরভাবে অক্ষম করে, 1 বাইটে ক্যাশে সীমাবদ্ধ করবে।

বিকল্প 3: ম্যানুয়াল ফোর্স রিফ্রেশ

ক্যাশেড বিষয়বস্তু উপেক্ষা করে বর্তমান পৃষ্ঠাটি পুনরায় লোড করুন: Shift+ F5বা Ctrl+ Shift+r

ক্রোম কীবোর্ড শর্টকাটগুলি - ক্রোম সহায়তা ("ওয়েবপৃষ্ঠার শর্টকাটগুলির" অধীনে)

বিকল্প 4: অতিরিক্ত পুনরায় লোড বিকল্পগুলি ( উত্স )

বিকাশকারী সরঞ্জাম খোলার সাথে, নিম্নলিখিতগুলির সাথে পুনরায় লোড মেনুটি প্রদর্শন করতে পুনরায় লোড বোতামটিতে ডান ক্লিক করুন:

  • সাধারণ পুনঃলোড (Ctrl + R)
  • হার্ড পুনরায় লোড (Ctrl + শিফট + আর)
  • ক্যাশে এবং হার্ড পুনরায় লোড করুন

1
ব্রুনো অদ্ভুত, আমি সর্বদা সিটিআরএল + এফ 5 ব্যবহার করি। সবেমাত্র পরীক্ষিত এবং উভয়ই কাজ করে বলে মনে হচ্ছে।
জেরোইন

আমি একটি মোচড় দিয়ে বিকল্প 2 ব্যবহার করার পরামর্শ দিই। সুইচগুলির সাহায্যে ক্রোমের একটি পৃথক শর্টকাট তৈরি করুন এবং এটির নাম দিন। এটি আপনার উইন্ডোজ টাস্কবারের বিভিন্ন প্রান্তে রাখুন।
ক্রিস্টোফার জিম্মি 23

8

এটি ক্রোম রিফ্রেশের সাথে 100% সম্পর্কিত নাও হতে পারে তবে আরও বিকাশের জন্য। @ ডোম যেমন বলেছেন, আপনি আপনার রিসোর্সের পরে একটি? V = # যুক্ত করতে পারেন। প্রক্রিয়াটি স্বয়ংক্রিয় করার একটি উপায় হ'ল উল্লিখিত ফাইলটির বিষয়বস্তু হ্যাশ করা এবং সংস্করণ হিসাবে এটি ব্যবহার করা।

সি # তে এটি কীভাবে করা যায় তার একটি স্নিপেট কোড রয়েছে (বাস্তবায়নের জন্য রেজার) যদি এটি সাহায্য করতে পারে।

সাহায্যকারী:

public static string HashUrl(string relativeUrl)
    {
        var server = HttpContext.Current.Server;
        if (File.Exists(server.MapPath(relativeUrl)))
        {
            byte[] hashData;
            using (var md5 = MD5.Create())
            using (var stream = File.OpenRead(server.MapPath(relativeUrl)))
                hashData = md5.ComputeHash(stream);

            return relativeUrl.Replace("~", "") + "?v=" + BitConverter.ToString(hashData).Replace("-", "");
        }
        return relativeUrl + "?v=notFound";
    }

বাস্তবায়ন:

<link rel="stylesheet" href=@Util.HashUrl("~/Controllers/Home/Views/Index.css") />

আশাকরি এটা সাহায্য করবে

সম্পাদনা করুন --- কিছু বিল্ড রানটাইম এবং 1000 ছোট রিসোর্সের জন্য বলেছেন, এটি প্রায় 11 এমএস লাগে।

https://en.code-bude.net/2013/08/07/md5-hashes-in-c-benchmark-and-speed-%E2%80%8B%E2%80%8Boptimization/

এখানে চিত্র বর্ণনা লিখুন https://en.code-bude.net/wp-content/uploads/2013/08/md5_performance_benchmark_2.png


2
এর মতো সংস্থানীয় সংস্থানগুলি (বা সংস্থার নামটি নিজেই সংস্করণ / হ্যাশ এম্বেড করে) খুব সহায়ক হতে পারে, বিশেষত যখন বাস্তব বিশ্বে আপডেটগুলি স্থাপন করা হয়, যেখানে - ক্যাশে-নিয়ন্ত্রণ শিরোলেখের বিধিগুলি বিপরীতে - সমস্ত পদ্ধতিতে ক্যাশে হওয়ার ঘটনাটি ঘটতে পারে এবং অনেক ব্যবহারকারী কীভাবে ক্যাশটি রিফ্রেশ করবেন তা (বা প্রয়োজনীয়তা) জানেন না। আপনি যদি (আপনার অ্যাপ্লিকেশনটি তৈরি করেন) নতুন নামযুক্ত সংস্থানটির জন্য জিজ্ঞাসা করেন তবে এটি সম্ভবত ক্যাশে করা যায় না can't
ট্রিপহাউন্ড

1
এটি কি বড় পারফরম্যান্সের ক্ষতি নয়? প্রতিটি সিএসএস এবং জেএস ফাইল হ্যাশিং করা প্রতিটি সময় এটি কোনও পৃষ্ঠায় একটি লিঙ্ক inোকানো হয় ... আপনি কি এর জন্য বেঞ্চমার্ক চালিয়েছেন?
রাইদ্রি বলেছেন মনিকা

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

@ রাইদ্রি আমার 20 টি রিসোর্সের সাথে আমার একটি ছোট অ্যাপ্লিকেশন রয়েছে যা আমি হ্যাশ করেছি এবং আমি নির্মাণের সময়টির মধ্যে কোনও তাত্পর্য দেখতে পাইনি তাই আমি এটির সত্যতা নির্ধারণ করার চেষ্টা করিনি। এছাড়াও আমি নিশ্চিত নই যে আমি আপনার দ্বিতীয় বাক্যটি বুঝতে পেরেছি তবে রিসোর্সগুলি ক্যাশে করা হয়েছে এবং হ্যাশ পরিবর্তন হলে ব্রাউজার কেবল সেগুলি পুনঃনির্দেশ করে যদি আপনি নিজেই রিসোর্স পরিবর্তন করেন।
ফ্রেড beauchamp

হ্যাশটি নির্মাণের সময় গণনা করা হয় না তবে প্রতিটি পৃষ্ঠা প্রজন্মে। এটি একটি সার্ভার ইস্যু এবং ব্রাউজারে ক্যাশে করার কোনও সম্পর্ক নেই।
রাইদ্রি

5

অন্যান্য ক্ষেত্রে যেখানে এগুলি সম্ভব নাও হতে পারে, উদাহরণস্বরূপ, কোনও শেষ-ব্যবহারকারীর কম্পিউটারে আপনার রিফ্রেশ না করার জন্য জোর করে চাপানো চাওয়া , আপনি ব্রাউজারকে সনাক্তকরণের জন্য ক্যোয়ারি প্যারামিটার হিসাবে স্ক্রিপ্ট নামের একটি সংস্করণ নম্বর যুক্ত করতে পারেন এটি একটি ভিন্ন ফাইল হিসাবে । অর্থাত। example.js?v=1। মনে রাখবেন আপনাকে বাধ্য করতে প্রতিটি পুনরায় লোডের নম্বরটি পরিবর্তন করতে হবে।

আপনি স্থানীয় বিকাশের সাথে এটিও করতে পারেন তবে দেব সরঞ্জাম পদ্ধতিটি আরও কার্যকর।


3

@Steven উত্তর ছাড়াও, আপনি যখন পেতে বিকাশকারী সরঞ্জামসমূহ কনসোল খোলা, আপনি পারেন রাইট ক্লিক করুন উপর রিফ্রেশ বোতামটি এবং ড্রপ ডাউন মেনু ব্যবহার করুন।

এই মেনুতে আপনি "খালি ক্যাশে এবং হার্ড পুনরায় লোড করুন" এর বিকল্প পাবেন ।

আপনি যা খুঁজছেন তা


1
আমি ধরে নিয়েছি আপনি Chrome এর একটি অ-ইংরেজী সংস্করণ ব্যবহার করছেন। আমি ইংরেজি সংস্করণ ব্যবহার করি এবং এটিকে "খালি ক্যাশে এবং হার্ড পুনরায় লোড" বলা হয়।
Nzall

1

আপনি যদি সাইটটি বিকাশ করছেন তবে আপনার জানা উচিত যে সার্ভারে ফাইলগুলি পরিবর্তিত হওয়ার সাথে সাথে ফাইলগুলি সঠিকভাবে পুনরায় আনতে ক্রোমের জন্য must-revalidateসেটিংস প্রয়োজন Cache-Control

অন্যান্য উত্তরগুলি আপনাকে শিফট-এফ 5 টি কীভাবে হিট করবেন তা জানায় আপনার নিজের ক্রোমের নিজস্ব সংস্করণটি সমস্ত ফাইলকে পুনরায় চাপতে বাধ্য করতে। তবে সাইটের প্রতিটি ব্যবহারকারীদের প্রতিবারই সাইটটি পরিবর্তনের জন্য এটি করা কি যুক্তিসঙ্গত? আপনি যদি Cache-Controlঅন্তর্ভুক্তটি সেট করে থাকেন must-revalidateতবে Chrome ফাইলগুলি কোনও ফাইল পরিবর্তিত হয়েছে কিনা তা পরীক্ষা করে দেখাবে এবং প্রয়োজনের সময় সেগুলি সঠিকভাবে ডাউনলোড করবে।

এই ব্লগ পোস্টে বিশদটি দেখুন: https://agiletribe.wordpress.com/2018/01/29/caching-for-chrome/

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.