ปิดใช้งานแคช Chrome สำหรับการพัฒนาเว็บไซต์


1607

ฉันกำลังแก้ไขลักษณะที่ปรากฏของไซต์ (การแก้ไข CSS) แต่ไม่สามารถเห็นผลลัพธ์บน Chrome เนื่องจากแคชถาวรที่น่ารำคาญ ฉันลองShift+ รีเฟรช แต่มันไม่ทำงาน

ฉันจะปิดการใช้งานแคชชั่วคราวหรือรีเฟรชหน้าเว็บในวิธีที่ฉันสามารถเห็นการเปลี่ยนแปลงได้อย่างไร?


185
นี่อาจเป็นข้อผิดพลาดเดียวที่เลวร้ายที่สุดของ Chrome ฉันเสียเวลาไปมากเกินไปที่จะสงสัยว่าทำไมสิ่งต่าง ๆ ผิดพลาดเพียงเพื่อจะพบว่า - แม้จะมีการบังคับให้โหลดซ้ำทั้งหมดด้วย ^ F5 - มันใช้ทรัพยากรเก่าค้างนานหลายชั่วโมง
Glenn Maynard

45
เบราว์เซอร์ควรจะแคช โปรดจำไว้ว่าผู้ใช้ของคุณจะถูกแคช - และดังนั้นอาจไม่เห็นการเปลี่ยนแปลงที่คุณทำหลังจากไซต์ของคุณเริ่มทำงาน วิธีที่จะหลีกเลี่ยงปัญหานี้คือปรับรุ่นไฟล์ของคุณ my_css.css? version = something_unique หากเบราว์เซอร์ไม่เห็นเวอร์ชันก่อนหน้านั้นเบราว์เซอร์จะดาวน์โหลดไฟล์อีกครั้ง ยกตัวอย่างเช่นบางสิ่งบางอย่างอาจเป็นวันที่แก้ไขล่าสุด
user984003

34
@ user984003 Ctrl+Shift+RหรือShift+Rควรล้างแคช ...
Adonis K. Kakoulidis

19
@ user984003 ไม่ใช่ถ้าฉันบอกให้ไม่แคช ใช่หมายเลขรุ่นแคชที่ยอดเยี่ยมสำหรับการเปิดตัวครั้งสุดท้ายซึ่งเป็นสิ่งที่ผู้ใช้ใช้ แต่เมื่อฉันสร้างเว็บไซต์ใหม่และฉันต้องการที่จะเห็นการเปลี่ยนแปลงที่เพิ่มขึ้นเมื่อฉันไปฉันจะไม่เปลี่ยนหมายเลขรุ่นในแต่ละครั้ง . ดังนั้นทำไมฉันถึงพัฒนาด้วย Firefox - มันมีตัวเลือกการปิดใช้งานแคชที่น่าเชื่อถือที่สุด!
andrewb

11
@ user984003 ใช่เบราว์เซอร์ควรจะแคช ... เมื่อเรียกดู เมื่อพัฒนาคุณต้องควบคุมสิ่งนั้นให้มากขึ้น
ahnbizcad

คำตอบ:


1976

Chrome DevTools สามารถปิดการใช้งานแคช

  1. คลิกขวาและเลือกInspect Elementเพื่อเปิด DevTools หรือใช้ทางลัดแป้นพิมพ์อย่างใดอย่างหนึ่งต่อไปนี้:
    • F12
    • Command+ Option+iบน Mac
    • Control+ Shift+ iบน Windows หรือ Linux
  2. คลิก Networkในแถบเครื่องมือเพื่อเปิดบานหน้าต่างเครือข่าย
  3. ตรวจสอบDisable cacheช่องทำเครื่องหมายที่ด้านบน

สกรีนช็อตของแผงเครื่องมือพัฒนา

โปรดทราบว่าเป็นทวีตจาก@ChromiumDevระบุการตั้งค่านี้จะใช้งานได้เฉพาะในขณะที่ devtools เปิดอยู่อยู่

โปรดทราบว่าสิ่งนี้จะส่งผลให้ทรัพยากรทั้งหมดถูกโหลดใหม่ หากคุณต้องการปิดใช้งานแคชเฉพาะบางแหล่งข้อมูลคุณสามารถแก้ไขส่วนหัว HTTP ได้ที่เซิร์ฟเวอร์ของคุณส่งไปพร้อมกับไฟล์ของคุณ

หากคุณไม่ต้องการใช้Disable cacheช่องทำเครื่องหมายกดปุ่มรีเฟรชด้วย DevTools ที่เปิดค้างไว้จะแสดงเมนูพร้อมตัวเลือกHard ReloadหรือEmpty Cache and Hard Reloadควรมีลักษณะคล้ายกัน อ่านเกี่ยวกับความแตกต่างระหว่างตัวเลือก ทางลัดต่อไปนี้พร้อมใช้งาน:

  • Command+ Option+Rบน Mac
  • Control+ Shift+ Rบน Windows หรือ Linux

กดแบบยาว


255
จากประสบการณ์ของฉันการตั้งค่านี้ (และการตั้งค่าทั้งหมดในแผงควบคุม) จะมีผลเมื่อเปิดเครื่องมือ dev เท่านั้น
Johann

28
@ Steve สิ่งนี้ไม่ได้ผลสำหรับฉัน ฉันไม่ได้รับการเปลี่ยนแปลงแม้ว่าฉันจะมี Chrome 19.0.1084.52 และฉันทำเครื่องหมายที่ช่องเพื่อปิดใช้งานการแคช ฉันพยายามเปิดแผง dev ฉันลองด้วยมันปิด ฉันได้ลองรีสตาร์ทเบราว์เซอร์แล้วรีสตาร์ทคอมพิวเตอร์ ดูเหมือนว่าจะยังคงให้หน้าเว็บที่เป็นเวอร์ชันแคชต่อไป ฉันควรทำอย่างไรดี? Chrome ทำให้ฉันมีปัญหาเช่นนี้มาก่อนดังนั้นฉันจึงลบทุกอย่างที่เกี่ยวข้องกับ google ออกจากคอมพิวเตอร์แล้วติดตั้ง chrome กลับ มันแก้ไขสิ่งต่าง ๆ ส่วนใหญ่เช่น "แท็บประวัติการโหลดตลอดกาล" ฉันเดาว่ามันยังใช้งานไม่ได้
Tgwizman

11
ฉันพบว่าสิ่งนี้ไม่ทำงานเมื่อรีเฟรชหน้าปัจจุบันหลังจากเปลี่ยนการตั้งค่า เมื่อฉันนำทางไปแล้วกลับมาอีกครั้งมันก็เริ่มทำงานได้
Matt Gibson

3
... หรือคุณสามารถดีบั๊กในโหมดไม่ระบุตัวตน! (ซึ่งไม่แคชไฟล์ใด ๆ )
แมค

5
การตั้งค่านั้นเป็นสิ่งที่สำคัญที่สุดในประวัติศาสตร์ของการพัฒนาเว็บ รีสตาร์ทคอมพิวเตอร์และโครมของฉันยังคงแสดงผลที่ไม่ถูกต้องในขณะที่ Firefox แสดงขึ้นเป็น css :(
Claudiu Creanga

247

ป้อนคำอธิบายรูปภาพที่นี่

การล้างแคชนั้นน่ารำคาญเกินไปเมื่อคุณต้องการล้างแคช 30 ครั้งต่อชั่วโมงดังนั้นฉันจึงติดตั้ง Chrome Extension ชื่อClassic Cache Killerที่ล้างแคชทุกครั้งที่โหลดหน้า

Chrome Store Link (ฟรี) (ตอนนี้ไม่มีมัลแวร์!)

ตอนนี้ฉันจำลอง json, javascript, css, html และ data รีเฟรชทุกครั้งที่โหลดหน้าเว็บทุกครั้งการโหลดหน้าเว็บทุก

ฉันไม่เคยต้องกังวลหากฉันต้องล้างแคช

ฉันพบแคชสำหรับ Chrome ประมาณ 20 ตัว แต่ตัวนี้ดูเบาและไม่ต้องใช้ความพยายาม ในการอัปเดต Cache Killer สามารถอยู่ที่ "always on"

หมายเหตุ: ฉันไม่รู้จักผู้เขียนปลั๊กอิน แต่อย่างใด ฉันเพิ่งพบว่ามันมีประโยชน์


4
ใช่ตัวเลือก Chrome Dev Tools ดูเหมือนจะไม่ทำงานสำหรับฉัน แต่แคชนักฆ่าทำงานเหมือนจับใจ เวลาโหลดช้าลงอย่างมีนัยสำคัญเช่น 4-5x แต่การแสดงเนื้อหาใหม่ที่เกิดขึ้นจริงนั้นเร็วกว่ามาก
Bryce Johnson

2
Clear Cache และ Disable Cache จะทำงานเฉพาะเมื่อทำงานกับ localhost บน mac ของฉัน สำหรับเนื้อหาออนไลน์ฉันรู้สึกสดชื่นและสดชื่นโดยหวังว่าจะเห็นการเปลี่ยนแปลงใด ๆ ส่วนขยายนี้เป็นเครื่องช่วยชีวิต
Sbpro

2
ฉันพบว่าการใช้ Disable Cache ทำให้เกิดปัญหากับที่จัดเก็บในตัวเครื่องโดยเฉพาะที่เก็บเชิงมุมด้วย Auth0 Cache Killer ทำงานได้อย่างสมบูรณ์และไม่ทำให้เกิดปัญหากับที่จัดเก็บในตัวเครื่อง
เทรเวอร์

5
นำออกจาก Chrome Extensions Store เนื่องจากมัลแวร์ :( ตัวเลือกอื่นหรือไม่
Semyon Vyskubov

3
จบลงด้วยการเขียนของฉันเองทำงานเหมือนเดิม แต่สามารถสลับได้ต่อแท็บ ใบอนุญาต MIT และไม่มีมัลแวร์ฉันสัญญา😎! github.com/themichaelyang/cache-clearer
Michael Yang

199

รูปภาพของเมนูโหลดซ้ำ

  1. ดึงคอนโซลนักพัฒนาซอฟต์แวร์ Chrome ขึ้นมาโดยการกดF12แล้ว (เมื่อเปิดคอนโซล):

  2. คลิกขวา (หรือคลิกซ้ายค้างไว้) ที่ปุ่มโหลดที่ด้านบนของเบราว์เซอร์และเลือก "Empty Cache และ Hard Reload"

การดำเนินการนี้จะเกินกว่า "การโหลดซ้ำอย่างหนัก" เพื่อล้างแคชทั้งหมดทำให้มั่นใจได้ว่าสิ่งใดก็ตามที่ดาวน์โหลดผ่าน javascript หรืออื่น ๆ จะหลีกเลี่ยงการใช้แคช คุณไม่ต้องยุ่งกับการตั้งค่าหรืออะไรเลยมันเป็นโซลูชั่น 1-shot ที่รวดเร็ว


7
แม้ว่ามันจะใช้งานไม่ได้บน mac แต่ฉันคลิกที่ปุ่มโหลดซ้ำพร้อมกับชุดคีย์ต่าง ๆ ;)
MJB

1
ฮาร์ดรีโหลดคืออะไร
ManirajSS

@ManirajSS: มันจะโหลดใหม่ทุกอย่างและหลีกเลี่ยงการใช้แคช แต่จะไม่ดาวน์โหลดสิ่งที่ดาวน์โหลดโดย javascript อีกครั้งหลังจากโหลดหน้าเว็บ ฉันไม่แน่ใจว่าทำไมทุกคนจะเคยใช้มัน แต่ฉันคิดว่าคุณอาจเกิดขึ้นกับกรณีมุมไม่กี่ที่มันจะมีประโยชน์
JackArbiter

2
และจะไม่ล้างแคชสำหรับ iframes ที่อยู่ในหน้า
Pablo Mescher

7
ไม่แน่ใจว่าสิ่งนี้เป็นจริงนานแค่ไหน แต่ใน Chrome 41 ให้คลิกและกดปุ่ม reload ค้างไว้บน OS X หากคุณเปิดหน้าต่างเครื่องมือสำหรับนักพัฒนา
Tim Keating

47

มีตัวเลือกอีกสองตัวเลือกในการปิดใช้งานการแคชหน้าใน Chrome ให้ดี :

1. ปิดใช้งาน Chrome Cache ในรีจิสทรี

เปิด Registry (Start -> Command -> Regedit)

ค้นหา: HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command

เปลี่ยนชิ้นส่วนหลังจาก ... chrom.exe "เป็นค่านี้: –disable-application-cache –media-cache-size=1 –disk-cache-size=1 — "%1"

ตัวอย่าง: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -disable-application-cache –media-cache-size=1 –disk-cache-size=1 — "%1"

สิ่งสำคัญ:

  • มีช่องว่างและยัติภังค์หลังจาก ... chrome.exe "

  • ออกจากพา ธ ไปที่ chrome.exe ตามเดิม

  • หากคุณคัดลอกบรรทัดให้แน่ใจว่าได้ตรวจสอบว่าคำพูดเป็นคำพูดที่เกิดขึ้นจริง

2. ปิดใช้งานแคช Chrome โดยเปลี่ยนคุณสมบัติทางลัด

คลิกขวาที่ไอคอน Chrome แล้วเลือก "Properties" ในเมนูบริบท เพิ่มค่าต่อไปนี้ให้กับเส้นทาง: –disk-cache-size=1

ตัวอย่าง: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" –disk-cache-size=1

สิ่งสำคัญ:

  • มีช่องว่างและยัติภังค์หลังจาก ... chrome.exe "

  • ออกจากพา ธ ไปที่ chrome.exe ตามเดิม


1
ใช้แท็กรหัสเพื่อให้คำตอบอ่านง่ายขึ้น ฉันคิดว่านี่อาจเป็นหนึ่งในคำตอบที่ดีที่สุด
ThorSummoner

3
คำตอบที่ดี. แม้ว่าคนส่วนใหญ่ปิดใช้งานแคชเป็นเพียงสิ่งชั่วคราวในระหว่างการพัฒนา การปิดใช้งานอย่างถาวรจะทำให้ประสบการณ์การท่องเว็บปกติช้าลงอย่างเห็นได้ชัดและเป็นสัญชาติอินเทอร์เน็ตที่ไม่ดีเนื่องจากทำให้เว็บเซิร์ฟเวอร์ที่คุณเข้าชมไม่จำเป็น
danielson317

3
ฉันไม่เห็นด้วยกับการเป็นพลเมืองอินเทอร์เน็ตที่ไม่ดีเรากำลังพูดถึงที่นี่เกี่ยวกับการสร้างทางลัดสำหรับการพัฒนา ดังนั้นนี่คือคำตอบที่ดีที่สุดแน่นอน IMHO เป็นเพียงเรื่องเล็ก ๆ ทุกครั้งที่ฉันคัดลอกสิ่งนี้บน Windows จากหน้า SO นี้ลงในทางลัด Chrome บางตัวอักษรบางตัวไม่ออกมาถูกต้อง สิ่งเหล่านี้คือสิ่งที่ถูกต้อง: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-application-cache --media-cache-size=1 --disk-cache-size=1นอกจากนี้สิ่งที่เป็นถ่านก่อนหน้านี้ "%1"? ที่ฉันไม่รู้
peter.petrov


22

นอกเหนือจากตัวเลือกปิดใช้งานแคช (ซึ่งคุณจะได้รับผ่านปุ่มที่มุมล่างขวาของหน้าต่างเครื่องมือสำหรับนักพัฒนา - เครื่องมือ | เครื่องมือสำหรับนักพัฒนาหรือCtrl+ Shift+ I) บนแผงเครือข่ายของเครื่องมือสำหรับนักพัฒนาคุณสามารถคลิกขวาได้ และเลือก "ล้างแคช" จากเมนูป๊อปอัพ


22
  1. F12 เพื่อเปิด Chrome DevTools
  2. F1 เพื่อเปิดการตั้งค่า DevTools
  3. ทำเครื่องหมายที่Disable cache (ขณะที่ DevTools เปิดอยู่)ดังแสดงด้านล่าง:

ปัจจุบันนี้อยู่ในแท็บการตั้งค่าซึ่งเป็นค่าเริ่มต้น คุณอาจต้องเลื่อนลง ช่องทำเครื่องหมายนี้ถูกย้ายอย่างน้อยสองสามครั้งตั้งแต่ถามคำถามนี้ ครั้งล่าสุดที่ฉันตรวจสอบมันอยู่ในคอลัมน์กลางที่ด้านล่าง หากคุณเปิดไว้บนหน้าจอที่บางขึ้นและมี 2 คอลัมน์ภายใต้การตั้งค่าอาจอยู่ใกล้ด้านบนขวา โปรดอัปเดตโพสต์นี้หากมีการเปลี่ยนแปลงหรือแสดงความคิดเห็นและฉันจะอัปเดตโพสต์

ป้อนคำอธิบายรูปภาพที่นี่


2
สิ่งนี้เหมือนกับการตรวจสอบ "ปิดใช้งานแคช" โดยตรงที่ F12 Chrome Devtools และจะรีเซ็ตเมื่อคุณรีสตาร์ท Chrome
Bogdan Verbenets

18

แทนที่จะกดปุ่ม "F5" เพียงกดปุ่ม:

"Ctrl + F5"


6
มันใช้งานได้ใน Firefox (ไม่ใช่เพราะมันเกี่ยวข้องกับคำถามนี้ แต่บางคนอาจพบว่ามีประโยชน์)
โดนัลด์ดั๊ก

17

ในช่อง Canary (และอาจจะเป็นช่อง dev และเสถียรตามมาด้วย) นี่คือตัวเลือกที่สองโดยรวมทางด้านซ้ายมือภายใต้ส่วน "ทั่วไป"

ปิดใช้งานแคชใน Chrome Canary Channel

นอกจากนั้นยังมีตัวเลือกให้เปลี่ยนเป็นโหมดไม่ระบุตัวตนผ่าน Ctrl + Shift + N เสมอแม้ว่าจะเป็นการสิ้นสุดเซสชันของคุณก็ตาม


4
จากประสบการณ์ของฉันนี้ใช้งานได้เฉพาะเมื่อมีการเปิดเครื่องมือ dev ฉันงงว่าทำไมแคชถึงยังคงค้างอยู่บนหน้าจนกว่าฉันจะรู้ว่าฉันปิดเครื่องมือพัฒนาแล้ว มันแปลกที่การตั้งค่าไม่ได้แทนที่ทุกอย่าง
mbokil

โหมดไม่ระบุตัวตนทำแคชภาพและไฟล์บางอย่างน่าเสียดาย
GobSmack

16

ใช้Ctrl+ Shift+ Rเพื่อรีเฟรชเป็นเรื่องที่ดี แต่ไม่ได้ทุกสิ่งที่ฉันต้องการ ยังมีบางสิ่งที่จะไม่รีเฟรชเช่นข้อมูลที่จัดเก็บใน js และ css พบวิธีการแก้ปัญหาที่: แถบเครื่องมือของ Google สำหรับนักพัฒนาเว็บโครเมี่ยม หลังจากที่คุณติดตั้งแถบเครื่องมือเลือกตัวเลือกและ "รีเซ็ตหน้า"


2
+1 ยังไม่สมบูรณ์แม้ว่าสำหรับการพัฒนาบนเครื่องคอมพิวเตอร์แคชไม่จำเป็นอย่างสมบูรณ์และจะแนะนำปัญหาดังนั้นฉันจะยังคงสนใจในคุณลักษณะปิดการใช้งานเช่น firebug มี
c089

15

เพื่อให้ชัดเจนช่องทำเครื่องหมายปิดใช้งานแคชใน Chrome (v17 ที่นี่ แต่เนื่องจาก v15 ฉันเชื่อว่า) ไม่ได้อยู่ใน UI การตั้งค่าหลัก มันอยู่ใน UI การตั้งค่าเครื่องมือสำหรับนักพัฒนา

  1. จากเมนูไอคอนเครื่องมือของหน้าต่างเบราว์เซอร์ (เมนู prefs) เลือกเครื่องมือ→เครื่องมือสำหรับนักพัฒนา

  2. ใน UI เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ที่ปรากฏขึ้นให้คลิกไอคอนรูปเฟืองที่ด้านล่างขวา

  3. ทำเครื่องหมายที่ช่องทำเครื่องหมาย 'ปิดใช้งานแคช' ในส่วนเครือข่าย


14

ปิดใช้งานแคชใน Chrome ทำงานได้เฉพาะเมื่อคุณเปิดเครื่องมือ dev เท่านั้น


อาจเป็นข้อผิดพลาดหรืออาจมีไว้สำหรับนักพัฒนาเท่านั้น - ที่กล่าวว่าฉันคิดว่าผู้ที่ไม่ใช่นักพัฒนาต้องการใช้ตัวเลือกปิดการใช้งานแคชเกินไป¯ \ _ (ツ) _ / ¯
jamiethepiper

14

จนกว่าข้อผิดพลาดจะได้รับการแก้ไขคุณสามารถใช้ปลั๊กอินClear Cache Chrome และคุณสามารถตั้งค่าแป้นพิมพ์ลัดสำหรับมันได้

หลังจากติดตั้งแล้วให้คลิกขวาและไปที่ตัวเลือก:

ป้อนคำอธิบายรูปภาพที่นี่

ตรวจสอบAutomatically reload active tab after clearing data:

ป้อนคำอธิบายรูปภาพที่นี่

เลือกEverythingสำหรับช่วงเวลา:

ป้อนคำอธิบายรูปภาพที่นี่

จากนั้นคุณสามารถไปที่เมนู => เครื่องมือ => ส่วนขยาย:

ป้อนคำอธิบายรูปภาพที่นี่

คลิกที่แป้นพิมพ์ลัดที่ด้านล่าง:

ป้อนคำอธิบายรูปภาพที่นี่

และตั้งค่าแป้นพิมพ์ลัดของคุณตัวอย่างเช่นCtrl+ Shift+ R:

ป้อนคำอธิบายรูปภาพที่นี่


9

ที่จริงแล้วถ้าคุณไม่รังเกียจการใช้แบนด์วิดท์มันจะปลอดภัยกว่าด้วยเหตุผลหลายประการในการปิดใช้งานการแคชและได้รับคำแนะนำจากไซต์ความปลอดภัยหลายแห่ง

Chromium ไม่ควรหยิ่งพอที่จะตัดสินใจและบังคับใช้การตั้งค่ากับผู้ใช้

คุณสามารถปิดการใช้งานแคชบน UNIX ด้วย --disk-cache-dir = / dev / null

เช่นนี้เป็นข้อผิดพลาดที่ไม่คาดคิดอาจเกิดขึ้น แต่ถ้าพวกเขาทำแล้วจะชี้ไปที่ข้อผิดพลาดที่รุนแรงมากขึ้นอย่างชัดเจนซึ่งควรได้รับการแก้ไขในกรณีใด ๆ


8

นี่อาจช่วยใครซักคน

ฉันเอาหัว Nginx ของฉันไปทำแคชบ้า ดังนั้นการปิดใช้งานแคชในเครื่องมือเครือข่ายและการล้างแคชอย่างชัดเจนไม่ทำงาน

วิธีแก้ปัญหาที่เรียบง่าย แต่น่าเบื่อคือฉันเพิ่งเปิดแท็บไม่ระบุตัวตนใหม่ น่าแปลกใจที่มันใช้งานได้ตลอดเวลา!

การรีเฟรชที่ยากลำบากในโหมดไม่ระบุตัวตนทำเคล็ดลับได้ทุกเมื่อที่ฉันต้องการโหลดซ้ำในโหมดเดียวกัน


6

วิธีการเกี่ยวกับ bookmarklet ซึ่งเปลี่ยนชื่อหน้าเพื่อป้องกันไม่ให้หน้าแคช ใน Chrome คุณจะต้องสร้างที่คั่นหน้าใหม่แล้ววางรหัสลงใน URL คลิกบุ๊กมาร์กและหน้าจะโหลดใหม่พร้อมเวลาประทับเพื่อป้องกันแคช

javascript:(function(){var idx = location.href.indexOf('?');var d = new Date();var str = location.href.substr(0,idx) + '?version=' + d.getTime();location.href=str; void 0;})();

5

ฉันเพิ่งถูกจับ แต่ไม่จำเป็นต้องเป็นเพราะ Chrome

ฉันใช้ jQuery เพื่อขอ AJAX ฉันได้ตั้งค่าคุณลักษณะแคชเป็นจริงในคำขอ:

   $.ajax({
        type: 'GET',
        cache: true,
        ....

การตั้งค่านี้เป็นเท็จแก้ไขปัญหาของฉัน แต่สิ่งนี้ไม่เหมาะ

ฉันไม่รู้ว่าข้อมูลนี้ถูกบันทึกไว้ที่ไหน แต่ฉันรู้ว่า chrome ไม่เคยโดนเซิร์ฟเวอร์เพื่อขอ


5

มีวิธีที่ดีกว่าและรวดเร็วกว่าในขณะนี้ (Chrome เวอร์ชัน 59.xx):

คลิกขวาบนไอคอน reload-(ด้านซ้ายของฟิลด์ url-field) และคุณจะได้รับเมนูแบบเลื่อนลงเลือกตัวเลือกที่สาม: 'empty Cache and Hard reload'

ตัวเลือกนี้ใช้ได้เฉพาะเมื่อเครื่องมือของนักพัฒนาซอฟต์แวร์เปิดอยู่ (สังเกตเห็นความแตกต่างของตัวเลือก 2: 'Hard reload' -cmd-shift-R) ไม่มีการล้างแคชที่นี่!


3

มีส่วนขยายของ Chrome ใน Chrome เว็บสโตร์ชื่อว่าClear Cacheล้างแคช

ฉันใช้มันทุกวันและเป็นเครื่องมือที่มีประโยชน์มากฉันคิดว่า คุณสามารถใช้มันเป็นปุ่มรีโหลดและสามารถล้างแคชและถ้าคุณชอบคุกกี้, ที่เก็บข้อมูล, รูปแบบข้อมูล ฯลฯ นอกจากนี้คุณยังสามารถกำหนดโดเมนที่จะเกิดขึ้น ดังนั้นสามารถล้างอึทั้งหมดด้วยปุ่มรีโหลดเท่านั้นซึ่งคุณต้องกด - บนโดเมนที่คุณเลือก

ดีมากมาก!

คุณยังสามารถกำหนดแป้นพิมพ์ลัดสำหรับตัวเลือกนี้ได้!

อีกวิธีหนึ่งคือการเริ่มหน้าต่างโครเมี่ยมในโหมดไม่ระบุตัวตน ที่นี่แคชก็ควรจะปิดการใช้งานอย่างสมบูรณ์


ไม่พบตัวเลือกในการกำหนดว่าจะใช้กับโดเมนใด ดูไม่ดีมาก วิธีการเกี่ยวกับchrome.google.com/webstore/detail/cache-killer/... .. ?
nkkollaw

ไปที่ไอคอน clearcache ในเบราว์เซอร์คลิกขวาตัวเลือกจากนั้นภายใต้คุกกี้ มีไอคอนการตั้งค่าเล็กน้อย
chris

2

อีกทางเลือกหนึ่งสำหรับการปิดใช้งานแคชนั้นมีให้โดยตัวตรวจสอบขนาดหน้า Chrome ส่วนขยายที่ 3 ของฉันซึ่งจะปิดการใช้งานแคชในลักษณะเดียวกับที่ Devtools ทำ

นอกจากนี้ส่วนขยายจะรายงานขนาดหน้าการใช้แคชคำขอเครือข่ายและความเร็วในการโหลดของหน้าเว็บอย่างรวดเร็วด้วยวิธีที่สะดวก พลัสโอเพนซอร์สที่Github

สกรีนช็อต - ผู้ตรวจสอบขนาดหน้า


2

ไม่แน่ใจว่าคุณกำลังใช้อะไร แต่ถ้าคุณใช้ ASP.Net คุณสามารถทำสิ่งต่อไปนี้ซึ่งใช้งานได้อย่างมีเสน่ห์:

<link href="@Url.Content("~/Content/Site.css")?time=@DateTime.Now" rel="stylesheet" />

โดยทั่วไปมันจะผนวกวันที่และเวลาไปที่ท้ายไฟล์โดยอัตโนมัติทุกครั้งที่มีการเรียกใช้หมายความว่าเนื่องจากชื่อไฟล์แตกต่างกันในทางเทคนิคคุณจะไม่ต้องกังวลว่าจะถูกแคชอีกครั้ง


อย่างแน่นอน ฉันใช้สิ่งนี้และการคอมไพล์แบบมีเงื่อนไขดังนั้นจึงไม่ปรากฏในการทดสอบและปล่อยบิลด์
Cee McSharpface

วิธีที่ดีกว่าคือใช้เวลาในการแก้ไขไฟล์ css เป็นค่าตัวแปร โซลูชันนั้นสามารถใช้ในสภาพแวดล้อมการผลิตได้เช่นกัน มันใช้งานได้แล้ว :) ไม่แน่ใจว่ามันเสร็จสิ้นใน ASP ได้อย่างไร แต่ใน PHP บางอย่างเช่นนี้ <link href = "style.css? time = <? php echo fileminfo ('style.css');?>" rel = "stylesheet" >
Oliver Manner

2

ฉันมีปัญหาเดียวกันฉันลอง:

  • ควบคุม Shift R
  • ปิดใช้งานแคชใน F12
  • ควบคุม F5

จากนั้นฉันก็ค้นพบว่าการใช้.appcache Manifest สำหรับไม่ใช่ https เว็บไซต์จะเลิก ฉันลบไฟล์ site.appcache ของฉันและการอ้างอิงในแท็ก html และตอนนี้ฉันเห็นเวอร์ชันล่าสุดของแต่ละหน้า!


2

หากคุณกำลังใช้ServiceWorkers (เช่น: สำหรับแอปพลิเคชันเว็บขั้นสูง) คุณอาจต้องตรวจสอบ "อัปเดตเมื่อโหลดซ้ำ" ภายใต้แอปพลิเคชัน> พนักงานบริการในเครื่องมือ dev เช่นกัน

ป้อนคำอธิบายรูปภาพที่นี่


1

ตั้งแต่รุ่น 50 (ถ้าฉันจำได้ถูกต้อง) ตัวเลือก "ปิดใช้งานแคช" จะถูกลบออกจากการตั้งค่า Devtool ไปที่แท็บ "เครือข่าย" และมีตัวเลือก "ปิดใช้งานแคช"


0

สวัสดีถ้าเว็บไซต์ของคุณใช้ PHP คุณควรวางตัวอย่างโค้ด PHP ไว้ที่ด้านบนของหน้า html ของคุณ:

   //dev versioning - stop caching
   $rand = rand(1, 99999999);

ตอนนี้ทุกที่ที่คุณโหลดทรัพยากรเช่นไฟล์ CSS- หรือ JS- ในองค์ประกอบสคริปต์หรือลิงค์ที่คุณผนวกค่าสุ่มที่สร้างขึ้นของคุณไปยัง URL คำขอหลังจากผนวก '?' ถึง URI ผ่าน PHP:

    echo $rand;

แค่นั้นแหละ! จะไม่มีเบราว์เซอร์ที่แคชเว็บไซต์ของคุณอีกต่อไป

แน่นอนลบรหัสของคุณก่อนที่จะเผยแพร่หรือเพียงแค่ตั้ง $ แรนด์เป็นสตริงที่ว่างเปล่าเพื่อให้แคชอีกครั้ง


0

ฉันใช้ตัวเลือกอื่น ๆ ที่อธิบายไว้ข้างต้น แต่ฉันพบว่าวิธีที่ดีที่สุดคือการเพิ่มพารามิเตอร์ต่อไปนี้ในการเริ่มต้นของ chrome.exe

"ไฟล์ C: \ Program (x86) \ Google \ Chrome \ Application \ chrome.exe" --disk-cache-size = 1 -media-cache = 1

ฉันคิดว่าการไม่ปิดการใช้งานสื่อแคชเป็นความคิดที่ดี แต่เพื่อประโยชน์ที่ครบถ้วน

ในความเป็นจริงฉันต้องการตัวเลือกในการปิดการใช้แคชอย่างสมบูรณ์เพื่อใช้หน่วยความจำสำหรับ IO แทนดิสก์ของฉัน (ซึ่งจะทำให้ความเร็วในการโหลดเร็วขึ้น 10 เท่าด้วย!) แต่ฉันไม่คิดว่า chrome หรือเบราว์เซอร์ใด ๆ .


0

ฉันจะปิดการใช้งานแคชชั่วคราวหรือรีเฟรชหน้าเว็บในวิธีที่ฉันสามารถเห็นการเปลี่ยนแปลงได้อย่างไร?

ไม่ชัดเจนว่าคุณกำลังอ้างถึง "แคช" ใด มีวิธีการที่แตกต่างกันหลายวิธีที่เบราว์เซอร์สามารถแคชเนื้อหาถาวร ที่เก็บข้อมูลบนเว็บเป็นหนึ่งในนั้นCache-Controlเป็นอีกหนึ่ง

เบราว์เซอร์บางตัวยังมี a Cache, ใช้ร่วมกับService Workersเพื่อสร้าง Progressive Web Apps (PWAs) ที่ให้การสนับสนุนออฟไลน์

เพื่อล้างแคชสำหรับ PWA

self.caches.keys().then(keys => { keys.forEach(key => console.log(key)) })

เพื่อแสดงรายการชื่อของคีย์แคชจากนั้นเรียกใช้:

self.caches.delete('my-site-cache')

เพื่อลบคีย์แคชตามชื่อ (เช่นmy-site-cache) จากนั้นรีเฟรชหน้า

หากคุณเห็นข้อผิดพลาดเกี่ยวกับคนงานในคอนโซลหลังจากรีเฟรชคุณอาจต้องยกเลิกการลงทะเบียนพนักงานที่ลงทะเบียน:

navigator.serviceWorker.getRegistrations()
  .then(registrations => {
    registrations.forEach(registration => {
      registration.unregister()
    }) 
  })

0

Cache killer ของ Chrome นั้นเป็นตัวเลือกที่ดีที่สุด เนื่องจาก URL ร้านค้าที่จะติดตั้งตัวทำลายแคชไม่ทำงานคุณสามารถดาวน์โหลดไฟล์ CRX ได้ที่นี่:

https://www.crx4chrome.com/extensions/jpfbieopdmepaolggioebjmedmclkbap/

เมื่อดาวน์โหลดไฟล์ส่วนขยายแล้วให้เปิด Chrome -> เครื่องมือเพิ่มเติม -> ส่วนขยายจากนั้นลากไฟล์ CRX จาก File Explorer หรือเดสก์ท็อปของคุณ (ขึ้นอยู่กับตำแหน่งที่คุณดาวน์โหลดไฟล์) ลงในหน้าต่าง Chrome เพื่อติดตั้งส่วนขยาย


0

ฉันใช้ (ใน windows), ctrl + shift + delete และเมื่อไดอะล็อก chrome ปรากฏขึ้นให้กดปุ่ม Enter สิ่งนี้สามารถกำหนดค่าด้วยสิ่งที่ต้องล้างทุกครั้งที่คุณดำเนินการตามลำดับนี้ ไม่จำเป็นต้องมี dev เครื่องมือเปิดในกรณีนี้


0

ฉันอยู่ในสถานการณ์ที่เบราว์เซอร์โหลดข้อมูลแคชจากดิสก์แม้ว่าฉันจะตรวจสอบว่าปิดใช้งานแคชแล้ว (ฉันใช้ Chrome) CSS และ JS ทั้งหมดของฉันโหลดจากเซิร์ฟเวอร์ แต่ไม่ใช่เว็บเพจ สิ่งนี้เกิดขึ้นทั้งในพื้นที่ของฉันและในการผลิต

ในการแก้ไขฉันต้องใส่พารามิเตอร์พิเศษลงใน URL ของฉันเพื่อบังคับให้เบราว์เซอร์รับเว็บเพจจากเซิร์ฟเวอร์แม้แต่คอนโทรลเลอร์ก็ไม่จำเป็นต้องใช้

ฉันใช้ ASP.Net ดังนั้นนี่คือตัวอย่างของฉัน:

//Controller function
public ActionResult Index()
    {
        return View();
    }
//Link
@Html.Action("Index", "Home", new { ts = DateTime.Now.Ticks.ToString()})

ผลลัพธ์คือมันจะสร้างลิงก์ดังนี้: http://www.myweb.com/Home/Index?ts=636558555408282209

นี่คือสถานการณ์และทางออกของฉัน หวังว่ามันจะช่วยใครซักคน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.