ฉันจะรีเฟรชหน้าเว็บด้วย jQuery ได้อย่างไร


2453

ฉันจะรีเฟรชหน้าเว็บด้วย jQuery ได้อย่างไร


29
เนื่องจาก jQuery เป็นเฟรมเวิร์กของ javascript เพื่อให้การจัดการ DOM และการโยงเหตุการณ์ง่ายขึ้นฉันขอแนะนำให้คุณขอ javascript แทน jQuery
WoIIe

19
คุณไม่ต้องการ jQuery สำหรับสิ่งนี้
ละอองดาว

13
มีความเกี่ยวข้องมากขึ้นกว่าเดิม: needsmorejquery.com
Kartik Chugh

@Stardust คุณไม่ต้องการ jQuery สำหรับสิ่งที่คุณทำกับ jQuery เพราะทุกอย่างเป็นไปได้ด้วย JavaScript ถ้าคุณสามารถทำได้ jQuery
ฉันเป็นคนที่โง่ที่สุดใน

คำตอบ:


3828

ใช้location.reload():

$('#something').click(function() {
    location.reload();
});

reload()ฟังก์ชั่นใช้เวลาพารามิเตอร์ตัวเลือกที่สามารถตั้งค่าเพื่อtrueที่จะบังคับให้โหลดจากเซิร์ฟเวอร์มากกว่าแคช พารามิเตอร์เริ่มต้นเป็นfalseดังนั้นโดยค่าเริ่มต้นหน้าอาจโหลดจากแคชของเบราว์เซอร์


29
สิ่งนี้ไม่ได้ผลสำหรับฉัน สิ่งนี้ใช้ได้แม้ว่า: window.location.href = window.location.href;
Yster

5
สิ่งนี้ไม่ได้ผลสำหรับฉัน window.location.href=window.location.href;และ location.href=location.href;ทำงาน
twharmon

23
window.location.reload(true);จะรีเฟรชอย่างหนักไม่เช่นนั้นโดยค่าเริ่มต้นจะเป็นเท็จ
Sagar Naliyapara

@Sagar N มันใช้ได้กับฉันด้วย ขอบคุณ. ฉันพยายามอย่างหนักเมื่อไม่กี่วันที่ผ่านมาด้วยวิธีการที่แตกต่างกัน
Ludus H

1
@FaridAbbas location.reload();เป็นจาวาสคริปต์มาตรฐาน คุณไม่ต้องการ jQuery
Mark Baijens


449

มีวิธีไม่ จำกัดหลายวิธีในการรีเฟรชหน้าเว็บด้วย JavaScript:

  1. location.reload()
  2. history.go(0)
  3. location.href = location.href
  4. location.href = location.pathname
  5. location.replace(location.pathname)
  6. location.reload(false)

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

คุณสามารถทำรายการต่อได้อย่างสร้างสรรค์:

var methods = [
  "location.reload()",
  "history.go(0)",
  "location.href = location.href",
  "location.href = location.pathname",
  "location.replace(location.pathname)",
  "location.reload(false)"
];

var $body = $("body");
for (var i = 0; i < methods.length; ++i) {
  (function(cMethod) {
    $body.append($("<button>", {
      text: cMethod
    }).on("click", function() {
      eval(cMethod); // don't blame me for using eval
    }));
  })(methods[i]);
}
button {
  background: #2ecc71;
  border: 0;
  color: white;
  font-weight: bold;
  font-family: "Monaco", monospace;
  padding: 10px;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.5s ease;
  margin: 2px;
}
button:hover {
  background: #27ae60;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


10
+1 สำหรับรายการและ jsfiddle ฉันมีคำถามใน jsfiddle 1 และ 6 ทำให้หน้าเว็บที่สร้างหายไปครู่หนึ่งขณะที่มันถูกโหลดใหม่และ 2-5 ทำให้หน้าเว็บโหลดซ้ำว่า "ไม่น่าสนใจ" ในเครื่องมือ dev ใน Chrome ฉันสามารถเห็นหน้ากำลังสร้างใหม่ แต่คุณสามารถอธิบายกระบวนการ redrawing ที่ถูกระงับได้อย่างไร โปรด. ขอบคุณล่วงหน้า.
Cԃաԃ

@ Cԃաԃฉันไม่เห็นความแตกต่าง ... บางทีแคชอาจเป็นปัญหาหรือไม่ ฉันจะดูในไม่ช้า
IonicăBizău

2
1 และ 6 (reload()/(false))ช้ากว่า อืมม น่าสนใจ :) และ 1 และ 6 เป็นเช่นเดียวกับพารามิเตอร์เริ่มต้นก็คือreload() false
Cԃաԃ

location.href = location.hrefเป็นสิ่งที่ฉันมักจะใช้ แต่ขอบคุณสำหรับคนอื่น ๆ มีประโยชน์มาก! +1
Amal Murali

1
@ Cԃաԃในที่สุดผมก็สามารถทำซ้ำสิ่งที่คุณเห็นและผมถามที่นี่
IonicăBizău

202

ฉันจะทำงานได้หลายวิธี

  • window.location.reload();
  • history.go(0);
  • window.location.href=window.location.href;

41
สิ่งนี้window.location.href=window.location.href;จะไม่ทำอะไรเลยถ้า URL ของคุณมี # / hashbang ในตอนท้ายexample.com/something#blah:
AaronLS

18
ในกรณีที่ทุกคนสงสัยว่าความแตกต่างระหว่างlocation.reload()และhistory.go(0)คือ: ไม่มี ส่วนที่เกี่ยวข้องของข้อมูลจำเพาะ HTML 5 ที่w3.org/TR/html5/browsers.html#dom-history-goระบุอย่างชัดเจนว่าพวกเขาเทียบเท่า: "เมื่อมีgo(delta)การเรียกใช้เมธอดหากอาร์กิวเมนต์ของเมธอดถูกละเว้นหรือมี ค่าศูนย์ตัวแทนผู้ใช้จะต้องทำหน้าที่ราวกับว่าlocation.reload()วิธีการที่เรียกว่าแทน "
Mark Amery

สิ่งเดียวที่ทำงานได้สำหรับฉันคืออันนี้: window.location.href = window.location.href;
Yster

123

หากต้องการโหลดหน้าซ้ำด้วย jQuery ให้ทำ:

$.ajax({
    url: "",
    context: document.body,
    success: function(s,x){
        $(this).html(s);
    }
});

วิธีการที่ฉันใช้คือ Ajax jQuery ฉันทดสอบบนChrome 13 แล้วฉันใส่รหัสลงในตัวจัดการที่จะทริกเกอร์การโหลดใหม่ URL ที่เป็น""ซึ่งหมายความว่าหน้านี้


68
downvoting สิ่งนี้ไม่ได้ตอบคำถามจริงๆ แต่จะแสดงวิธีแทนที่ HTML ของหน้าเว็บด้วยการตอบกลับ Ajax มันแตกต่างจากการโหลดหน้าซ้ำ: ตัวอย่างเช่นฉันกำลังทำงานกับสถานการณ์ตอนนี้ซึ่งสิ่งนี้จะไม่ทำงานเพื่อแก้ไขปัญหาดั้งเดิม
Marnen Laibow-Koser

5
ปัญหาอย่างหนึ่งของการโหลด HTML ทั้งหมดเช่นนี้คือการเรียกใช้เหตุการณ์ onload / ready ด้วยตนเองและลดการเขียนทับของตัวแปรที่ประกาศก่อนหน้านี้ซึ่งคุณอาจต้องการเก็บไว้หลังจากรีเฟรช
PassKit

3
นอกจากว่าคุณระมัดระวังรหัสของคุณมากสิ่งนี้จะนำไปสู่การรั่วไหลของหน่วยความจำที่คุณได้แนบตัวจัดการเหตุการณ์และโดยไม่ต้องถอดออกก่อนที่จะแทนที่รหัสที่แนบมา
Daniel Llewellyn

ฉันใช้มันเพื่อรีโหลดแดชบอร์ดของเราทุก ๆ วินาทีไม่มีการสั่นไหว! มันเป็นดาวหางของชายยากจน / json api ขอบคุณ @DanielLlewellyn และคณะ สำหรับคำเตือน
William Entriken

3
มีบางคนแสดงความคิดเห็นว่าวิธีนี้มีประโยชน์ในการรีเฟรชเพียงบางส่วนของหน้า มันไม่ใช่ ฉันคิดว่าคนเหล่านั้นเข้าใจผิดเกี่ยวกับcontextพารามิเตอร์$.ajaxและคาดหวังว่ามันจะใช้เวทมนตร์บางอย่าง ทั้งหมดมันไม่ถูกตั้งthisค่าของฟังก์ชั่นการโทรกลับ อาแจ็กซ์ไปยัง URL ของ""จะกด URL ที่คุณอยู่ในขณะนี้โดยปกติจะโหลด HTML ที่สมบูรณ์ (รวมถึง<html>และ<head>และ<body>) และคำตอบนี้จะกรองสิ่งที่คุณไม่ต้องการออก
Mark Amery

107

หากหน้าปัจจุบันถูกโหลดโดยคำขอ POST คุณอาจต้องการใช้

window.location = window.location.pathname;

แทน

window.location.reload();

เพราะwindow.location.reload()จะแจ้งให้ยืนยันหากมีการเรียกบนหน้าเว็บที่โหลดโดยคำขอ POST


12
สิ่งนี้จะสูญเสียการ
สอบถาม

@mrmillsy window.location = window.locationยังไม่สมบูรณ์อย่างไรก็ตาม; ไม่ทำอะไรเลยหากมี Fragid (hashbang) ใน URL ปัจจุบัน
Mark Amery

64

คำถามควรจะเป็น

วิธีรีเฟรชหน้าด้วยJavaScript

window.location.href = window.location.href; //This is a possibility
window.location.reload(); //Another possiblity
history.go(0); //And another

คุณมีทางเลือกมากมาย


55

คุณอาจต้องการใช้

location.reload(forceGet)

forceGet เป็นบูลีนและเป็นตัวเลือก

ค่าเริ่มต้นเป็นเท็จซึ่งโหลดหน้าจากแคช

ตั้งค่าพารามิเตอร์นี้เป็นจริงหากคุณต้องการบังคับให้เบราว์เซอร์รับหน้าจากเซิร์ฟเวอร์เพื่อกำจัดแคชเช่นกัน

หรือเพียงแค่

location.reload()

หากคุณต้องการแคชอย่างรวดเร็วและง่ายดาย


41

สามวิธีที่มีพฤติกรรมที่เกี่ยวข้องกับแคชแตกต่างกัน:

  • location.reload(true)

    ในเบราว์เซอร์ที่ใช้forcedReloadพารามิเตอร์ของlocation.reload()ให้โหลดซ้ำโดยดึงสำเนาใหม่ของหน้าและทรัพยากรทั้งหมด (สคริปต์สไตล์ชีทรูปภาพ ฯลฯ ) จะไม่ให้บริการทรัพยากรใด ๆจากแคช - รับสำเนาใหม่จากเซิร์ฟเวอร์โดยไม่ส่งif-modified-sinceหรือif-none-matchส่วนหัวในคำขอ

    เทียบเท่ากับผู้ใช้ที่ทำการ "โหลดซ้ำอย่างหนัก" ในเบราว์เซอร์ที่เป็นไปได้

    โปรดทราบว่าผ่านtrueไปlocation.reload()ได้รับการสนับสนุนใน Firefox (ดูMDN ) และ Internet Explorer (ดูMSDN ) แต่ไม่ได้รับการสนับสนุนในระดับสากลและไม่ได้เป็นส่วนหนึ่งของW3 HTML 5 สเปคหรือข้อมูลจำเพาะ W3 ร่าง HTML 5.1หรือWHATWG HTML Living มาตรฐาน

    ในเบราว์เซอร์ unsupporting เช่น Google Chrome, ทำงานเช่นเดียวกับlocation.reload(true)location.reload()

  • location.reload() หรือ location.reload(false)

    โหลดหน้านี้ใหม่ดึงสำเนาหน้าเว็บที่ไม่แคชในตัว HTML และดำเนินการร้องขอการตรวจสอบความถูกต้องRFC 7234ใหม่สำหรับทรัพยากรใด ๆ (เช่นสคริปต์) ที่เบราว์เซอร์แคชไว้แม้ว่าพวกเขาจะใหม่ก็ตาม RFC 7234 อนุญาตให้เบราว์เซอร์ พวกเขาโดยไม่ต้องตรวจสอบใหม่

    วิธีที่เบราว์เซอร์ควรใช้แคชเมื่อทำการlocation.reload()โทรไม่ได้ระบุหรือจัดทำเอกสารเท่าที่ฉันสามารถบอกได้ ฉันกำหนดพฤติกรรมด้านบนโดยการทดลอง

    สิ่งนี้เทียบเท่ากับผู้ใช้เพียงแค่กดปุ่ม "รีเฟรช" ในเบราว์เซอร์

  • location = location(หรือเทคนิคที่เป็นไปได้อื่น ๆ อีกมากมายที่เกี่ยวข้องกับการกำหนดlocationหรือคุณสมบัติ)

    ใช้งานได้เฉพาะในกรณีที่ URL ของหน้านั้นไม่มี Fragid / hashbang!

    โหลดหน้าซ้ำโดยไม่ต้องดึงข้อมูลซ้ำหรือตรวจสอบความถูกต้องของ ทรัพยากรใหม่จากแคช หาก HTML ของหน้าเว็บนั้นสดใหม่จะเป็นการโหลดหน้าเว็บซ้ำโดยไม่ดำเนินการตามคำขอ HTTP ใด ๆ เลย

    สิ่งนี้เทียบเท่า (จากมุมมองแคช) ไปยังผู้ใช้ที่เปิดหน้าในแท็บใหม่

    อย่างไรก็ตามหาก URL ของหน้านั้นมีแฮชนี่จะไม่มีผลใด ๆ

    อีกครั้งพฤติกรรมแคชที่นี่ไม่ระบุเท่าที่ฉันรู้ ฉันตัดสินใจโดยการทดสอบ

ดังนั้นโดยสรุปคุณต้องการใช้:

  • location = locationเพื่อการใช้งานสูงสุดของแคชตราบใดที่หน้าไม่มีแฮชใน URL ของมันในกรณีนี้มันจะไม่ทำงาน
  • location.reload(true)เพื่อดึงสำเนาของทรัพยากรทั้งหมดโดยไม่ทำการตรวจสอบความถูกต้องใหม่ (แม้ว่าจะไม่ได้รับการสนับสนุนในระดับสากลและจะไม่ทำงานlocation.reload()ในเบราว์เซอร์บางตัวเช่น Chrome)
  • location.reload() เพื่อสร้างผลของผู้ใช้โดยคลิกปุ่ม 'รีเฟรช' โดยสุจริต

+1 สำหรับตำแหน่ง = ตำแหน่ง; มีคนไม่มากที่ดูเหมือนจะแนะนำแม้ว่ามันจะสั้นกว่าคำตอบส่วนใหญ่ แต่ข้อเสียเพียงอย่างเดียวคือมันสามารถอ่านได้ฉันเดาในขณะที่ location.reload () ค่อนข้างมีความหมายมากกว่านี้
Brandito

@Brandito ที่สำคัญกว่าlocation = locationนั้นไม่ทำงานหากมีแฮชใน URL สำหรับเว็บไซต์ใด ๆ ที่ใช้ Fragids - หรือแม้แต่สำหรับเว็บไซต์ใด ๆ ที่ใครบางคนที่เชื่อมโยงไปยังหน้าอาจเพิ่ม Fragid ให้กับ URL - ที่ทำให้มันแตก
Mark Amery

26

window.location.reload() จะโหลดซ้ำจากเซิร์ฟเวอร์และจะโหลดข้อมูลสคริปต์รูปภาพและอื่น ๆ อีกทั้งหมด

ดังนั้นหากคุณต้องการรีเฟรช HTML ค่าwindow.location = document.URLจะกลับมาเร็วกว่าและมีปริมาณการใช้น้อย แต่จะไม่โหลดหน้าซ้ำหากมีแฮช (#) ใน URL


พฤติกรรมนี้เป็นจริงใน Chrome อย่างน้อย - location.reload()บังคับให้มีการตรวจสอบความถูกต้องของทรัพยากรแคชใหม่แม้ไม่มีข้อโต้แย้งในขณะที่window.location = document.URLยินดีให้บริการทรัพยากรแคชโดยไม่ต้องกดปุ่มเซิร์ฟเวอร์ตราบใดที่ยังใหม่
Mark Amery

17

Loadฟังก์ชั่นjQuery ยังสามารถทำการรีเฟรชหน้า:

$('body').load('views/file.html', function () {
    $(this).fadeIn(5000);
});

4
ไม่นี่ไม่ใช่การรีเฟรชหน้า
Mark Amery

16

เนื่องจากคำถามเป็นเรื่องทั่วไปให้ลองหาคำตอบสำหรับคำตอบ:

โซลูชัน JavaScript ธรรมดา ๆ :

วิธีที่ง่ายที่สุดคือโซลูชันบรรทัดเดียวในวิธีที่เหมาะสม:

location.reload();

สิ่งที่หลายคนหายไปที่นี่เพราะพวกเขาหวังว่าจะได้รับ "คะแนน" บางส่วนก็คือฟังก์ชั่น reload () นั้นมีบูลีนเป็นพารามิเตอร์ (รายละเอียด: https://developer.mozilla.org/en-US/docs/Web / API / สถานที่ / โหลดซ้ำ )

กระบวนการ Location.reload () วิธีการโหลดทรัพยากรจาก URL ปัจจุบัน พารามิเตอร์ที่ไม่ซ้ำกันที่เป็นตัวเลือกคือบูลีนซึ่งเมื่อเป็นจริงจะทำให้เพจโหลดซ้ำจากเซิร์ฟเวอร์เสมอ หากเป็นเท็จหรือไม่ได้ระบุเบราว์เซอร์อาจโหลดซ้ำหน้าเว็บจากแคช

ซึ่งหมายความว่ามีสองวิธี:

โซลูชันที่ 1: บังคับให้โหลดหน้าปัจจุบันจากเซิร์ฟเวอร์อีกครั้ง

location.reload(true);

โซลูชันที่ 2: โหลดซ้ำจากแคชหรือเซิร์ฟเวอร์ (ขึ้นอยู่กับเบราว์เซอร์และการกำหนดค่าของคุณ)

location.reload(false);
location.reload();

และถ้าคุณต้องการที่จะรวมมันกับ jQuery ฟังเหตุการณ์ฉันขอแนะนำให้ใช้วิธีการ ".on ()" แทน ".click" หรือ wrappers เหตุการณ์อื่น ๆ เช่นการแก้ปัญหาที่เหมาะสมมากขึ้นจะเป็น:

$('#reloadIt').on('eventXyZ', function() {
    location.reload(true);
});

15

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

<!DOCTYPE html>
<html lang="en">
  <head>
    ...
    <meta http-equiv="refresh" content="300">
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
    <script>
    function refresh() {
      $.ajax({
        url: "",
        dataType: "text",
        success: function(html) {
          $('#fu').replaceWith($.parseHTML(html));
          setTimeout(refresh,2000);
        }
      });
    }
    refresh();
    </script>
  </head>
  <body>
    <div id="fu">
      ...
    </div>
  </body>
</html>

หมายเหตุ:

  • การใช้งาน$.ajaxโดยตรง$.get('',function(data){$(document.body).html(data)}) จะทำให้ไฟล์ css / js ถูกดักจับแม้ว่าคุณจะใช้cache: trueนั่นเป็นเหตุผลที่เราใช้parseHTML
  • parseHTMLจะไม่พบbodyแท็กเพื่อให้ร่างกายของคุณต้องไปใน div พิเศษฉันหวังว่านักเก็ตแห่งความรู้นี้จะช่วยคุณได้หนึ่งวันคุณสามารถเดาได้ว่าเราเลือก id สำหรับสิ่งนั้นได้อย่างไรdiv
  • ใช้http-equiv="refresh"ในกรณีที่มีสิ่งผิดปกติกับ javascript / hiccup จากนั้นหน้าจะโหลดซ้ำโดยที่คุณไม่ได้รับสาย
  • วิธีนี้อาจทำให้หน่วยความจำรั่วอย่างใดการhttp-equivรีเฟรชจะแก้ไข

14

ฉันพบ

window.location.href = "";

หรือ

window.location.href = null;

ยังทำให้การรีเฟรชหน้า

สิ่งนี้ทำให้ง่ายต่อการโหลดหน้าซ้ำเพื่อลบแฮชออก นี่เป็นสิ่งที่ดีมากเมื่อฉันใช้ AngularJS ในเครื่องมือจำลอง iOS ดังนั้นฉันจึงไม่จำเป็นต้องเรียกใช้แอปอีกครั้ง


เยี่ยมมากฉันไม่รู้เรื่องนั้น
Junaid Atari

9

คุณสามารถใช้ วิธีJavaScript location.reload()วิธีนี้ยอมรับพารามิเตอร์บูลีน หรือtrue falseหากพารามิเตอร์คือ true; หน้าจะโหลดซ้ำจากเซิร์ฟเวอร์เสมอ ถ้าเป็นfalse; ซึ่งเป็นค่าเริ่มต้นหรือเบราว์เซอร์พารามิเตอร์ว่างโหลดหน้าเว็บจากแคช

พร้อมtrueพารามิเตอร์

<button type="button" onclick="location.reload(true);">Reload page</button>

ด้วยdefault/ falseพารามิเตอร์

 <button type="button" onclick="location.reload();">Reload page</button>

การใช้ jquery

<button id="Reloadpage">Reload page</button>
<script type="text/javascript">
    $('#Reloadpage').click(function() {
        location.reload();
    }); 
</script>

8

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

window.location.reload();

โดยค่าเริ่มต้นจะเป็นการโหลดหน้าเว็บใหม่โดยใช้แคชเบราว์เซอร์ (ถ้ามี) ...

หากคุณต้องการบังคับให้โหลดหน้าซ้ำเพียงแค่ส่งค่าที่แท้จริงไปยังวิธีการโหลดซ้ำตามด้านล่าง ...

window.location.reload(true);

นอกจากนี้หากคุณอยู่ในขอบเขตของหน้าต่างคุณสามารถกำจัดหน้าต่างและทำ:

location.reload();

8

ใช้

location.reload();

หรือ

window.location.reload();

OP กล่าวถึงโดยเฉพาะ "กับ jQuery" (แม้ว่าจะถูกบันทึกไว้แล้วโดยหลายคนนี้อาจไม่ควรเป็นคำถาม jQuery)
RomainValeri


3

หากคุณใช้ jQuery และต้องการรีเฟรชให้ลองเพิ่ม jQuery ของคุณในฟังก์ชัน javascript:

ฉันต้องการซ่อน iframe จากหน้าเว็บเมื่อคลิก oh an h3สำหรับฉันมันใช้งานได้ แต่ฉันไม่สามารถคลิกรายการที่อนุญาตให้ฉันดูiframeเริ่มต้นด้วยเว้นแต่ว่าฉันจะรีเฟรชเบราว์เซอร์ด้วยตนเอง ... ไม่เหมาะ

ฉันพยายามต่อไปนี้:

var hide = () => {
    $("#frame").hide();//jQuery
    location.reload(true);//javascript
};

การผสม Jane javascript ธรรมดากับ jQuery ของคุณควรใช้งานได้

// code where hide (where location.reload was used)function was integrated, below    
    iFrameInsert = () => {
        var file = `Fe1FVoW0Nt4`;
        $("#frame").html(`<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/${file}\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen></iframe><h3>Close Player</h3>`);
        $("h3").enter code hereclick(hide);
}

// View Player 
$("#id-to-be-clicked").click(iFrameInsert);

3

คำตอบทั้งหมดที่นี่ดี เนื่องจากคำถามที่ระบุเกี่ยวกับการโหลดหน้าใหม่ด้วยฉันแค่คิดว่าจะเพิ่มสิ่งเพิ่มเติมสำหรับผู้อ่านในอนาคต

jQueryเป็นไลบรารี JavaScriptข้ามแพลตฟอร์มที่ออกแบบมาเพื่อให้การสคริปต์ HTML ฝั่งไคลเอ็นต์ทำได้ง่ายขึ้น

~ Wikipedia ~

ดังนั้นคุณจะเข้าใจว่ารากฐานของ , หรือ ขึ้นอยู่กับ . ดังนั้นไปกับบริสุทธิ์ เป็นวิธีที่ดีกว่าเมื่อมันมาถึงสิ่งที่เรียบง่าย

แต่ถ้าคุณต้องการ ทางออกนี่คือหนึ่ง

$(location).attr('href', '');

2

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

    location.reload(true);
    //Here, it will make a hard request or reload the current page and clear the cache as well.


    location.reload(false); OR location.reload();
    //It can be reload the page with cache




1

คุณสามารถเขียนมันได้สองวิธี อันดับที่ 1 เป็นวิธีมาตรฐานในการโหลดหน้าเว็บที่เรียกว่าการรีเฟรชแบบง่าย

location.reload(); //simple refresh

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

location.reload(true);//hard refresh

1
คำตอบที่ใช้รหัสโดยทั่วไปมักจะขมวดคิ้วบนเว็บไซต์นี้ คุณกรุณาแก้ไขคำตอบของคุณเพื่อรวมความคิดเห็นหรือคำอธิบายเกี่ยวกับรหัสของคุณได้หรือไม่? คำอธิบายควรตอบคำถามเช่น: มันทำอะไร? มันทำยังไง? มันไปไหน มันแก้ปัญหา OP อย่างไร ดู: วิธีการ Anwser ขอบคุณ!
Eduardo Baitello



-1

นี่บรรทัดของรหัสบางอย่างที่คุณสามารถใช้เพื่อโหลดหน้าเว็บใช้ jQuery

มันใช้ wrapper jQuery และแยกองค์ประกอบ Dom พื้นเมือง

ใช้สิ่งนี้หากคุณต้องการความรู้สึก jQueryในโค้ดของคุณและคุณไม่สนใจความเร็ว / ประสิทธิภาพของโค้ด

เพียงเลือกจาก 1 ถึง 10 ที่เหมาะสมกับความต้องการของคุณหรือเพิ่มบางอย่างขึ้นอยู่กับรูปแบบและคำตอบก่อนหน้านี้

<script>
  $(location)[0].reload(); //1
  $(location).get(0).reload(); //2
  $(window)[0].location.reload(); //3
  $(window).get(0).location.reload(); //4
  $(window)[0].$(location)[0].reload(); //5
  $(window).get(0).$(location)[0].reload(); //6
  $(window)[0].$(location).get(0).reload(); //7
  $(window).get(0).$(location).get(0).reload(); //8
  $(location)[0].href = ''; //9
  $(location).get(0).href = ''; //10
  //... and many other more just follow the pattern.
</script>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.