ฉันกำลังแปลงหนึ่งเลย์เอาท์เป็น html; เมื่อฉันทำการเปลี่ยนแปลงในรหัส / html / css ทุกครั้งที่ฉันต้องกด F5 มีวิธีแก้ปัญหา javascript / jQuery แบบง่าย ๆ ไหม? หลังจากฉันเพิ่มสคริปต์โหลดหน้าเว็บซ้ำทุก ๆ 5 วินาที (หรือเวลาอื่นที่เจาะจง)
ฉันกำลังแปลงหนึ่งเลย์เอาท์เป็น html; เมื่อฉันทำการเปลี่ยนแปลงในรหัส / html / css ทุกครั้งที่ฉันต้องกด F5 มีวิธีแก้ปัญหา javascript / jQuery แบบง่าย ๆ ไหม? หลังจากฉันเพิ่มสคริปต์โหลดหน้าเว็บซ้ำทุก ๆ 5 วินาที (หรือเวลาอื่นที่เจาะจง)
คำตอบ:
<meta http-equiv="refresh" content="5; URL=http://www.yourdomain.com/yoursite.html">
ถ้ามันจะต้องมีในสคริปต์ใช้setTimeoutเช่น:
setTimeout(function(){
window.location.reload(1);
}, 5000);
<meta http-equiv="refresh" content="5">
หากต้องการโหลดหน้าเดิมซ้ำคุณไม่จำเป็นต้องมีอาร์กิวเมนต์ที่ 2 คุณสามารถใช้:
<meta http-equiv="refresh" content="30" />
สิ่งนี้ทริกเกอร์การโหลดซ้ำทุก ๆ 30 วินาที
สำหรับการโหลดซ้ำอัตโนมัติและล้างแคชหลังจาก 3 วินาทีคุณสามารถทำได้อย่างง่ายดายโดยใช้ฟังก์ชัน setInterval ของ javascript นี่คือรหัสง่ายๆ
$(document).ready(function() {
setInterval(function() {
cache_clear()
}, 3000);
});
function cache_clear() {
window.location.reload(true);
// window.location.reload(); use this if you do not remove cache
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<p>Auto reload page and clear cache</p>
และคุณยังสามารถใช้เมตาสำหรับสิ่งนี้
<meta http-equiv="Refresh" content="5">
setTimeout(function () { location.reload(1); }, 5000);
แต่เมื่อเครื่องมือในการพัฒนาทำงานไปคุณน่าจะดีกว่าด้วยhttps://addons.mozilla.org/en-US/firefox/addon/115
มีเครื่องมือรีเฟรชอัตโนมัติเมื่อเปลี่ยนสำหรับ IE มันเรียกว่า ReloadIt, และสามารถใช้ได้ในhttp://reloadit.codeplex.com ฟรี.
คุณเลือก URL ที่คุณต้องการรีโหลดอัตโนมัติและระบุเส้นทางไดเรกทอรีหนึ่งรายการหรือมากกว่าเพื่อตรวจสอบการเปลี่ยนแปลง กด F12 เพื่อเริ่มการตรวจสอบ
หลังจากที่คุณตั้งค่าให้ย่อเล็กสุด จากนั้นแก้ไขไฟล์เนื้อหาของคุณ เมื่อคุณบันทึกการเปลี่ยนแปลงหน้าจะโหลดใหม่ แบบนี้:
ง่าย ง่าย.
ตอบโดย @jAndy ควรทำงาน แต่ในFirefoxคุณอาจประสบปัญหาwindow.location.reload (1) ; อาจไม่ทำงานนั่นเป็นประสบการณ์ส่วนตัวของฉัน
ดังนั้นฉันอยากจะแนะนำ:
setTimeout(function() { window.location=window.location;},5000);
นี่คือการทดสอบและทำงานได้ดี
ทางเลือกที่ดีถ้าคุณกำลังใช้ Firefox เป็นปลั๊กอิน XRefresh มันจะโหลดหน้าเว็บของคุณทุกครั้งที่ตรวจพบว่าไฟล์ได้รับการแก้ไข ดังนั้นแทนที่จะรีเฟรชทุก ๆ 5 วินาทีมันจะรีเฟรชเมื่อคุณกดบันทึกในเครื่องมือแก้ไข HTML
อีกวิธีหนึ่งคือแอปพลิเคชันที่เรียกว่าLiveReload ...
หากคุณกำลังพัฒนาและทดสอบใน Firefox จะมีปลั๊กอินที่ชื่อว่า " ReloadEvery " ซึ่งมีให้คุณโหลดหน้าเว็บใหม่ตามช่วงเวลาที่กำหนด
สิ่งนี้จะทำงานใน 5 วินาที
5,000 มิลลิวินาที = 5 วินาที
ใช้สิ่งนี้กับเป้าหมาย_self
หรือสิ่งที่คุณต้องการและหน้าใดที่คุณต้องการรวมถึงตัวมันเอง:
<script type="text/javascript">
function load()
{
setTimeout("window.open('http://YourPage.com', '_self');", 5000);
}
</script>
<body onload="load()">
หรือสิ่งนี้ด้วยตนเองอัตโนมัติและไม่มีรหัสเป้าหมายด้วยสิ่งที่คุณต้องการรวมถึงตัวเอง:
<script type="text/javascript">
function load()
{
setTimeout("location.href = 'http://YourPage.com';", 5000);
}
</script>
<body onload="load()">
หรือนี่คือถ้ามันเป็นหน้าเดียวกันที่จะโหลดซ้ำตัวเองเท่านั้นและกำหนดเป้าหมายหมวกลากจูงที่คุณต้องการ:
<script type="text/javascript">
function load()
{
setTimeout("window.open(self.location, '_self');", 5000);
}
</script>
<body onload="load()">
ทั้ง 3 ทำสิ่งที่คล้ายกันเพียงในรูปแบบที่แตกต่างกัน
function reload() {
document.location.reload();
}
setTimeout(reload, 5000);