บางครั้งคุณจำเป็นต้องรีเฟรชหน้าเว็บโดยใช้ JavaScript หากมีความจำเป็น ให้ใช้วัตถุตำแหน่งเพื่อใช้ reload()
กระบวนการ.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>repl.it</title> <link href="style.css" rel="stylesheet" type="text/css" /> </head> <body onload="handleLoad()"> <button id="btn">Click Me!</button> <script> let arrayKittens = [ "https://placekitten.com/200/300", "https://placekitten.com/210/310", "https://placekitten.com/300/300", "https://placekitten.com/300/200", "https://placekitten.com/310/210", "https://placekitten.com/400/300"]; let button = document.querySelector("#btn"); button.style.display = "block"; button.style.margin = '20px 0px' const handleClick = (e) => { console.log("click") location.reload(true); } button.addEventListener("click", handleClick); let body = document.querySelector("body"); let image = document.createElement("img"); const handleLoad = (e) => { console.log("loaded") let random = Math.floor(Math.random() * arrayKittens.length); let newImg = arrayKittens[random]; image.setAttribute("src", newImg); image.setAttribute("width", "300"); image.setAttribute("height", "300"); image.setAttribute("alt", " arrayKittens[" + random + "]"); image.style.objectFit = "cover"; body.appendChild(image); }; </script> </body> </html>
มีผู้ฟังเหตุการณ์สองคนในเอกสารนี้ ครั้งแรกเกิดขึ้นเมื่อโหลดหน้าเพื่อเพิ่ม <img />
ไปที่ DOM ส่วนที่สองมี reload()
. ของเรา การทำงาน. เมื่อผู้ใช้คลิกที่ “คลิกฉัน!” หน้าจะโหลดซ้ำโดยเรียก handleClick()
การทำงาน. หน้านี้ใช้ JavaScript เพื่อจัดการกับตรรกะทั้งหมดของเรา
ในตัวอย่างนี้ รูปภาพแมวสุ่มจากอาร์เรย์ของรูปภาพแมวจะแสดงทุกครั้งที่โหลดหน้าซ้ำ
ค่าจริงหรือเท็จที่ส่งเข้ามาจะระบุว่าหน้านั้นโหลดซ้ำจากเซิร์ฟเวอร์หรือจากแคชของเบราว์เซอร์หรือไม่ ค่าเริ่มต้นเป็นเท็จ ซึ่งจะโหลดหน้าซ้ำจากแคช ดังนั้นจึงไม่จำเป็นต้องส่งค่าเข้าไป เว้นแต่คุณต้องการโหลดหน้าซ้ำจากเซิร์ฟเวอร์
เท่านั้น!