ฉันจะโหลดหน้าใหม่โดยใช้ JavaScript ได้อย่างไร
ฉันต้องการวิธีการที่ใช้ได้กับทุกเบราว์เซอร์
ฉันจะโหลดหน้าใหม่โดยใช้ JavaScript ได้อย่างไร
ฉันต้องการวิธีการที่ใช้ได้กับทุกเบราว์เซอร์
คำตอบ:
JavaScript 1.0
window.location.href = window.location.pathname + window.location.search + window.location.hash;
// creates a history entry
JavaScript 1.1
window.location.replace(window.location.pathname + window.location.search + window.location.hash);
// does not create a history entry
JavaScript 1.2
window.location.reload(false);
// If we needed to pull the document from
// the web-server again (such as where the document contents
// change dynamically) we would pass the argument as 'true'.
.reload(true)
ได้รับการบันทึกประวัติศาสตร์? ถ้าเป็นเช่นนั้นจะหลีกเลี่ยงการโหลดซ้ำได้อย่างไร
location.reload();
ดูหน้า MDN นี้สำหรับข้อมูลเพิ่มเติม
หากคุณกำลังรีเฟรชหลังจากonclick
นั้นคุณจะต้องคืนค่าเท็จทันทีหลังจาก
location.reload();
return false;
location.reload()
และwindow.location.reload()
คืออะไร?
location
เหมือนกับที่window.location
เป็นwindow
วัตถุระดับโลก
return false;
ว่าถ้าเรียกสิ่งนี้จาก onclick ในลิงค์
window.location.reload();
สำหรับการอ่านเช่นlocation
อาจจะเป็นตัวแปรท้องถิ่น - window
ในขณะที่คุณมักจะต้องการหลีกเลี่ยงตัวแปรของชื่อ
นี่คือ535 วิธีในการโหลดหน้าเว็บโดยใช้ JavaScriptlocation = location
ที่เป็นที่ง่ายที่สุด
นี่คือ 50 อันดับแรก:
location = location
location = location.href
location = window.location
location = self.location
location = window.location.href
location = self.location.href
location = location['href']
location = window['location']
location = window['location'].href
location = window['location']['href']
location = window.location['href']
location = self['location']
location = self['location'].href
location = self['location']['href']
location = self.location['href']
location.assign(location)
location.replace(location)
window.location.assign(location)
window.location.replace(location)
self.location.assign(location)
self.location.replace(location)
location['assign'](location)
location['replace'](location)
window.location['assign'](location)
window.location['replace'](location)
window['location'].assign(location)
window['location'].replace(location)
window['location']['assign'](location)
window['location']['replace'](location)
self.location['assign'](location)
self.location['replace'](location)
self['location'].assign(location)
self['location'].replace(location)
self['location']['assign'](location)
self['location']['replace'](location)
location.href = location
location.href = location.href
location.href = window.location
location.href = self.location
location.href = window.location.href
location.href = self.location.href
location.href = location['href']
location.href = window['location']
location.href = window['location'].href
location.href = window['location']['href']
location.href = window.location['href']
location.href = self['location']
location.href = self['location'].href
location.href = self['location']['href']
location.href = self.location['href']
...
window.window.window['window'].location = window['window'].window['window']['window']['window']['window']['window']['window']['location']
window.location.reload();
คุณสามารถทำงานนี้ได้โดยใช้ เนื่องจากมีหลายวิธีในการทำเช่นนี้ แต่ฉันคิดว่าเป็นวิธีที่เหมาะสมในการโหลดเอกสารเดียวกันด้วย JavaScript นี่คือคำอธิบาย
window.location
สามารถใช้วัตถุJavaScript
window
: ใน JavaScript แสดงถึงหน้าต่างที่เปิดอยู่ในเบราว์เซอร์
location
: ใน JavaScript เก็บข้อมูลเกี่ยวกับ URL ปัจจุบัน
location
วัตถุเป็นเหมือนชิ้นส่วนของที่window
วัตถุและถูกเรียกว่าขึ้นผ่านwindow.location
คุณสมบัติ
location
วัตถุมีสามวิธี:
assign()
: ใช้สำหรับโหลดเอกสารใหม่reload()
: ใช้เพื่อโหลดเอกสารปัจจุบันreplace()
: ใช้เพื่อแทนที่เอกสารปัจจุบันด้วยเอกสารใหม่ดังนั้นที่นี่เราจำเป็นต้องใช้reload()
เพราะมันสามารถช่วยเราในการโหลดเอกสารเดียวกัน
window.location.reload();
ดังนั้นการใช้มันเหมือน
เพื่อขอให้เบราว์เซอร์ของคุณเพื่อดึงหน้าได้โดยตรงจากเซิร์ฟเวอร์ไม่จากแคชคุณสามารถผ่านพารามิเตอร์true
location.reload()
วิธีนี้ใช้ได้กับเบราว์เซอร์หลัก ๆ ทั้งหมดเช่น IE, Chrome, Firefox, Safari, Opera
replace()
กลายเป็นโซลูชันที่ฉันค้นหาเพราะฉันต้องการโหลดหน้าเว็บซ้ำด้วยการเปลี่ยนแปลงเล็กน้อยในสตริงข้อความค้นหา
ลอง:
window.location.reload(true);
พารามิเตอร์ถูกตั้งค่าเป็น 'true' โหลดสำเนาใหม่จากเซิร์ฟเวอร์ การปล่อยออกจะเป็นการให้บริการหน้าเว็บจากแคช
ฉันกำลังมองหาข้อมูลบางอย่างเกี่ยวกับการโหลดซ้ำบนหน้าเว็บที่รับคำขอ POST เช่นหลังจากส่งmethod="post"
แบบฟอร์มแล้ว
ในการโหลดหน้าเว็บที่เก็บข้อมูล POST ใหม่ให้ใช้:
window.location.reload();
หากต้องการโหลดหน้าเว็บที่ทิ้งข้อมูล POST (ดำเนินการตามคำขอ GET) ให้ใช้:
window.location.href = window.location.href;
หวังว่านี่จะช่วยให้ผู้อื่นมองหาข้อมูลเดียวกันได้
POST
ร้องขอ
GET
และPOST
วิธีการที่ดี
window.location.href = window.location.href
ไม่โหลดหน้าเว็บถ้า URL #
ปัจจุบันมี window.location.href = window.location.href.split('#')[0];
คุณสามารถลบกัญชาถ้าคุณไม่ต้องการมัน
หากต้องการโหลดหน้าใหม่โดยใช้ JavaScript ให้ใช้:
window.location.reload();
สิ่งนี้ใช้ได้กับฉัน:
function refresh() {
setTimeout(function () {
location.reload()
}, 100);
}
ถ้าคุณใส่
window.location.reload(true);
ที่จุดเริ่มต้นของหน้าเว็บโดยไม่มีเงื่อนไขอื่น ๆ ว่าทำไมโค้ดนั้นถึงทำงานหน้านั้นจะโหลดและจากนั้นทำการโหลดตัวเองต่อไปจนกว่าคุณจะปิดเบราว์เซอร์ของคุณ
location.href = location.href;
location.reload()
อะไรบ้าง
location.reload()
ที่จะทำให้มันง่ายและง่ายในการใช้งาน คุณสามารถใช้location.reload(true)
หากคุณต้องการหยิบอะไรจากเซิร์ฟเวอร์
ใช้ปุ่มหรือวางไว้ในแท็ก "a" (สมอ):
<input type="button" value="RELOAD" onclick="location.reload();" />
ลองสิ่งเหล่านี้สำหรับความต้องการอื่น ๆ :
Location Objects has three methods --
assign() Used to load a new document
reload() Used to reloads the current document.
replace() Used to replace the current document with a new one
history.go()
โหลดหน้าซ้ำอัตโนมัติหลังจาก 20 วินาที
<script>
window.onload = function() {
setTimeout(function () {
location.reload()
}, 20000);
};
</script>
ขอบคุณโพสต์นี้มีประโยชน์มากไม่เพียง แต่โหลดหน้าใหม่ด้วยคำตอบที่แนะนำ แต่ยังให้แนวคิดในการวางไอคอน jQuery UI ไว้ที่ปุ่ม:
<button style="display:block; vertical-align:middle; height:2.82em;"
title="Cargar nuevamente el código fuente sin darle un [Enter] a la dirección en la barra de direcciones"
class="ui-state-active ui-corner-all ui-priority-primary"
onclick="javascript:window.location.reload(true);">
<span style="display:inline-block;" class="ui-icon ui-icon-refresh"></span>
[<b>CARGAR NUEVAMENTE</b>]
</button>
สิ่งนี้น่าจะใช้ได้:
window.location.href = window.location.href.split( '#' )[0];
หรือ
var x = window.location.href;
x = x.split( '#' );
window.location.href = x[0];
ฉันชอบสิ่งนี้ด้วยเหตุผลดังต่อไปนี้:
หรือคุณอาจใช้วิธีทางการล่าสุดสำหรับงานนี้
window.location.reload()
ใช้ปุ่มนี้เพื่อรีเฟรชหน้า
<input type="button" value="Reload Page" onClick="document.location.reload(true)">
วิธีการโหลด () ใช้ในการโหลดเอกสารปัจจุบัน
วิธีการรีโหลด () วิธีการนี้เหมือนกับปุ่มรีโหลดในเบราว์เซอร์ของคุณ
โดยค่าเริ่มต้นวิธีการโหลด () วิธีการโหลดหน้าจากแคช แต่คุณสามารถบังคับให้โหลดหน้าจากเซิร์ฟเวอร์โดยการตั้งค่าพารามิเตอร์ forceGet เป็นจริง: location.reload (จริง)
location.reload();
คุณสามารถใช้
window.location=document.URL
ที่ document.URL รับ URL หน้าปัจจุบันและ window.location จะโหลดซ้ำ