จะรีเฟรชหน้าเว็บใน Chrome (อะนาล็อก Ctrl + F5) บนอุปกรณ์ที่ไม่มีปุ่มเมนูได้อย่างไร


16

ฉันมีอุปกรณ์ Android Nexus 7 ที่มี 4.2.2 และเบราว์เซอร์ Chrome

เราจะทำการรีเฟรชหน้าเว็บอย่างลึกซึ้งได้อย่างไร - อะนาล็อกของCtrl+F5ฮอตคีย์บนเดสก์ท็อป

โปรดสังเกตว่าอุปกรณ์ไม่มีปุ่มเมนู

ตามคำถามเดียวที่ฉันพบที่นี่วิธีแก้ปัญหาคือการล้างแคชเบราว์เซอร์อย่างสมบูรณ์ ฉันต้องการทางออกที่สะดวกและหรูหรากว่า


2
ปุ่มเมนูมีความสัมพันธ์กันอย่างไร?
eldarerathis

@ Elderathis ฉันเห็นโพสต์บนเน็ตแนะนำให้กดปุ่มเครื่องมือรีเฟรชในขณะที่กดปุ่มเมนูค้างไว้
สแตน

อ่าน่าสนใจ ฉันไม่เคยได้ยินเรื่องนี้มาก่อน
eldarerathis

1
คำถามนี้มีคำตอบที่ดีกว่าใน StackOverflow (ซึ่งแสดงให้เห็นว่าการแบ่งชุมชนมากเกินไปไม่ได้ช่วย Android อยู่ใกล้กับการเขียนโปรแกรมที่ไม่คุ้มค่าที่จะแยกไซต์สำหรับ; เคมีกับคณิตศาสตร์ - แน่นอน)
แดน Dascalescu

คำตอบ:


-2

ข้ามต่อแคชไซต์:

สิ่งนี้ต้องการรหัสจาวาสคริปต์อย่างง่ายที่จะเรียกใช้ในแถบที่อยู่เพื่อหลีกเลี่ยงการแคชและดึงเนื้อหาจากเซิร์ฟเวอร์แทนเบราว์เซอร์แคช ตามหน้า MDN นี้ในกองทัพโหลดหน้าปัจจุบันจากเซิร์ฟเวอร์ ,

javascript:location.reload(true)

ป้อนรหัสด้านบนในแถบที่อยู่ของเบราว์เซอร์และกดปุ่ม Enter การดำเนินการนี้จะดึงเนื้อหาทั้งหมดจากเซิร์ฟเวอร์แทนที่จะเลือกองค์ประกอบที่แคชในเบราว์เซอร์ของคุณ (ดังนั้นจะผ่านการแคชเบราว์เซอร์)

ข้ามข้อมูลแคชสำหรับเว็บไซต์ทั้งหมด (แคชสากล)

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

Settings > Privacy > CLEAR BROWSING DATA

เลือกช่องทำเครื่องหมาย "แคช" (และตัวเลือกอื่น ๆ เช่นข้อมูลเบราว์เซอร์, คุกกี้, รหัสผ่าน ฯลฯ หากคุณต้องการ) และเลือก "ล้าง"

หมายเหตุ: ในขณะที่Ctrl+ F5จะทำให้เบราว์เซอร์โยนแคชและขอเนื้อหาใหม่จากเซิร์ฟเวอร์เซิร์ฟเวอร์อาจเพิกเฉยต่อno-cacheส่วนหัวและแสดงหน้าแคชฝั่งเซิร์ฟเวอร์ ดังนั้นแม้Ctrl+ F5อาจส่งคืนเวอร์ชันเก่าของหน้าหากเซิร์ฟเวอร์ไม่สนใจส่วนหัวของแคช

โหมดไม่ระบุตัวตน:

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


สำหรับการสนทนาที่น่าสนใจเกี่ยวกับสิ่งที่Ctrl+ F5หรือบังคับให้รีเฟรชทำได้

อ่านโพสต์ SO นี้การรีเฟรชของเบราว์เซอร์“ F5” และ“ Ctrl + F5” ของเบราว์เซอร์คืออะไร



1
แม้หลังจากล้างข้อมูลการท่องเว็บแล้วการรีเฟรชที่ลึกซึ้งยังไม่เกิดขึ้น ฉันต้องฆ่าและเปิดใช้งาน Chrome อีกครั้งในโทรศัพท์ Android ของฉันเพื่อบังคับให้รับจากแคช (หลังจากนั้นดูเหมือนว่าแม้หลังจากที่คุณล้างแคชในดิสก์ (สันนิษฐานว่า) แคชในหน่วยความจำยังคงอยู่รอบ ๆ การฆ่า Chrome เช็ดแคชหน่วยความจำเช่นกัน) [PS: โดย "ดิสก์" ฉันหมายถึงไม่ใช่ถาวร หน่วยความจำแฟลชหรือที่เก็บข้อมูลระเหย]]
ADTC

3

ในการเรียกดูแท็บเล็ต Samsung ด้วย Chrome ให้พิมพ์สิ่งนี้ในแถบที่อยู่:

javascript:location.reload(true)

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

แทนที่จะพิมพ์คำสั่งด้านบนฉันก็ลองเปลี่ยนเป็นโหมดเดสก์ท็อปแล้วกลับมา ที่ไม่ได้รีเฟรชลึก


2

ฉันไม่ได้รับการแก้ไขปัญหาใด ๆ เหล่านี้ในการทำงาน อย่างไรก็ตามฉันได้พบวิธีแก้ปัญหาการทำงาน

ก่อนอื่นหา URL css ในกรณีของฉันมันดูเหมือนว่านี้:

/min/assets/css/style.min.css

เขียนลงในช่องที่อยู่ แต่เพิ่มตัวแปร GET ด้วย:

/min/assets/css/style.min.css?hello

หวังว่าตัวแปร GET จะได้รับการยอมรับ เนื่องจากเป็น URL ใหม่มันจึงบังคับให้ css โหลดซ้ำ ตอนนี้กลับไปที่ไซต์และ css ควรโหลดใหม่


2

เจอแล้ว !!!!!!

ที่ด้านซ้ายของ URL จะมีไอคอนข้อมูล (i) หรือไอคอนล็อค คลิกที่ไอคอนจากนั้น [การกำหนดค่าเว็บไซต์]

คุณจะพบไอคอนถังขยะเพื่อล้างแคชของไซต์ปัจจุบันและอีกวิธีหนึ่งคือปุ่ม "กู้คืนค่ากำหนด"

ทำงานบน Android Chrome 71


1
ไม่ทำงานกับ S9 +, Chrome build 73.0.3683.90 ของฉัน ฉันกดตัวเลือกล้าง & รีเซ็ตอย่างน้อย 15 ครั้งบนหน้าเว็บที่ฉันควบคุม (เพื่อให้ฉันรู้ว่าโค้ดทำงานได้ค่อนข้างดี) อย่างไรก็ตาม JS ที่ทำงานบนหน้าที่ฉันกำลังโหลดยังคงเป็นเวอร์ชั่นเก่า
SE Strikes อีกครั้งน่าเสียดายที่

1
มันทำงานบน S9 ของฉันได้อย่างสมบูรณ์แบบดังนั้นฉันเดาว่ามีบางอย่างเกิดขึ้นกับกรณีของคุณ! คุณช่วยยกเค้าเพิ่มเติมได้ไหม
JCM

ตอนนี้ฉันได้ลองทำสิ่งนี้บนอุปกรณ์ที่แตกต่างกันสองเครื่องหนึ่งอันใช้โหมดนักพัฒนาซอฟต์แวร์ (โทรศัพท์ของฉันเนื่องจากฉันเป็นนักพัฒนาซอฟต์แวร์) และของเพื่อน ฉันได้ลองบนแท็บเล็ตแล้วเช่นกัน ไม่ไปที่นั่น + และฉันก็ลองใช้ iPhone ขององค์กรโดยใช้ Chrome และปัญหาเดียวกันก็อยู่ที่นั่น ดังนั้นจากมุมมองของฉันคุณดูดีกว่าที่ฉันมีอุปกรณ์หลายอย่าง
SE Strikes อีกครั้งน่าเสียดายที่

แน่นอนปัญหาที่แท้จริงคือพฤติกรรมขี้ขลาดของ Chrome / Android และการแคชมากเกินไป มันเหมือนโหมดไม่ระบุตัวตนที่ใช้งานไม่ได้ (การพูดของที่ ... ซึ่งทำงานไม่ถูกต้องเช่นกัน ... )
SE Strikes อีกครั้งโชคไม่ดีที่

เพิ่งตรวจสอบว่า Chrome ของ iPhone ไม่มีตัวเลือกที่คุณพูดดังนั้นฉันเชื่อว่าเราไม่ได้พูดในสิ่งเดียวกัน: ไม่มีอะไร "ล้างและรีเซ็ต" ใน Chrome ของ Android หากต้องการตรวจสอบสามเท่าได้ทดสอบข้อเสนอแนะของฉันเกี่ยวกับการทำงานของ Xiaomi A1 ตกลง (สังเกตเห็นว่ามันแสดงขนาดแคชในเครื่องของหน้าเว็บเป็น KB) อาจเป็นเพราะคุณต้องปิดแท็บ (หรือลองฆ่า chrome) ไม่เช่นนั้นฉันสงสัยว่า "ปุ่มถังขยะ" ของไซต์ใดไซต์หนึ่งคาดว่าจะทำอะไร ...
JCM

1

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


1
ไม่ใช่ทุกเว็บไซต์ที่มีรุ่นมือถือ / เดสก์ท็อป
เบียร์

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

1

ฉันต้องการวิธีล้างแคชปัจจุบันหรือแคชทั้งหมดจากโดเมนต้นทางเดียวกันผ่าน javascript ดังนั้นฉันจึงมั่นใจได้ว่าการเปิดตัวการอัปเดตของเว็บแอปของฉันมาถึงโดยไม่มีข้อผิดพลาด

ฉันยังไม่ประสบความสำเร็จในการเปลี่ยนเมตาแท็กแคชชั่วคราวในส่วนหัว html

บนเดสก์ท็อปเท่านั้นและไม่สามารถทำงานอัตโนมัติ:

ctrl + R

ใช้ในการทำงานเพื่อบังคับให้โหลดซ้ำเพื่อล้างแคช

ตอนนี้คุณต้องกด

ctrl + shift + R
or
shift + F5

ดูเหมือนว่าโครเมี่ยมทำให้การล้างแคชทำได้ยาก

พวกเขาอาจทำสิ่งนี้เพื่อโกงในเบราว์เซอร์เปรียบเทียบความเร็ว สไตล์ VW

ฉันเขียนฟังก์ชั่นการแก้ปัญหา forceReload () ของตัวเองที่ทำงานบน windows Chrome และ android Chrome และโครเมียม:

window.forceReload = function(){
    if( !window.fetch)return document.location.reload( true);
    var els = document.getElementsByTagName( "*");
    for( var i = 0; i < els.length; i++){
        var src = "";
        if( els[i].tagName == "A")continue;
        if( !src && els[i].src)src = els[i].getAttribute( "src");
        if( !src && els[i].href)src = els[i].getAttribute( "href");
        if( !src)continue;
        fetch( src, { cache: "reload"});
    }
    return document.location.reload( true);
};

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


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

-1

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


1
แม้ว่าฟีเจอร์นี้จะได้รับการเพิ่มลงใน broswers ล่าสุดของ Chrome (ver.41 ด้านบน) แต่จะไม่เป็นประโยชน์ในเวอร์ชันเก่ากว่า ดังนั้นคุณสมบัตินี้อาจใช้งานได้หรือไม่ และที่สำคัญกว่านั้นคือทำการโหลดหน้าซ้ำตามปกติ แต่ OP ขอให้รีเฟรชอย่างหนัก
โชคดี

ไม่ได้ระบุว่าโซลูชันที่ถูกต้องอยู่ภายใต้มุมมองของ Android หรือการเข้ารหัส
fsalazar_sch

1
ไม่เข้าใจว่าคุณหมายถึงอะไร แต่คำตอบนี้ไม่ทำให้ฉันมั่นใจว่ามันจะช่วยแก้ปัญหาของ OP
โชคดี

"คำตอบ" นี้เป็นเพียงแค่บอกคนที่คุณสามารถทำการรีเฟรชปกติโดยการดึงลงบนหน้า อย่างไรก็ตามคำถามของ OP เกี่ยวกับการทำ "การรีเฟรชอย่างหนัก" ซึ่งเทียบเท่ากับ CTRL + F5 บนพีซี
Bort

-3

ทางด้านซ้ายของหน้าต่างที่อยู่เว็บที่คุณกำลังเข้าชมคือลูกศรเกือบเป็นวงกลม


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