Pertanyaan Bagaimana saya bisa me-refresh halaman dengan jQuery?


Bagaimana saya bisa me-refresh halaman dengan jQuery?


2038
2018-03-23 11:55


asal


Jawaban:


Menggunakan location.reload():

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

Itu reload() fungsi mengambil parameter opsional yang dapat diatur ke true untuk memaksa memuat ulang dari server daripada cache. Parameter default untuk false, jadi secara default halaman dapat memuat kembali dari cache browser.


3308
2018-03-23 11:57



Ini harus berfungsi di semua browser bahkan tanpa jQuery:

location.reload();

407
2018-03-23 11:57



Ada banyak cara tanpa batas untuk menyegarkan halaman dengan 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) 

    Jika kita perlu mengambil dokumen dari    web-server lagi (seperti di mana isi dokumen    berubah secara dinamis) kita akan melewati argumen sebagai true.

Anda dapat melanjutkan daftar menjadi kreatif:

  • window.location = window.location
  • window.self.window.self.window.window.location = window.location
  • ... dan 534 cara lainnya

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>


337
2018-06-23 09:47



Banyak cara akan berhasil, saya kira:

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

181
2018-03-23 11:58



Untuk memuat ulang halaman dengan jQuery, lakukan:

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

Pendekatan di sini yang saya gunakan adalah Ajax jQuery. Saya mengujinya Chrome 13. Kemudian saya memasukkan kode di handler yang akan memicu reload. Itu URL aku s "", yang berarti halaman ini.


113
2017-09-30 11:00



Jika halaman saat ini dimuat oleh permintaan POST, Anda mungkin ingin menggunakannya

window.location = window.location.pathname;

dari pada

window.location.reload();

karena window.location.reload() akan meminta konfirmasi jika dipanggil pada halaman yang dimuat oleh permintaan POST.


97
2018-06-22 11:58



Pertanyaannya seharusnya,

Cara menyegarkan halaman dengan JavaScript

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

Anda dimanja oleh pilihan.


55
2018-03-23 12:01



Anda mungkin ingin menggunakannya

location.reload(forceGet)

forceGet adalah boolean dan opsional.

Standarnya adalah false yang memuat ulang halaman dari cache.

Setel parameter ini menjadi true jika Anda ingin memaksa browser untuk mendapatkan halaman dari server untuk menyingkirkan cache juga.

Atau hanya

location.reload()

jika Anda ingin cepat dan mudah dengan caching.


47
2017-07-25 14:27



Tiga pendekatan dengan perilaku terkait cache yang berbeda:

  • location.reload(true)

    Di browser yang mengimplementasikan forcedReload parameter dari location.reload(), muat ulang dengan mengambil salinan baru dari halaman dan semua sumber dayanya (skrip, stylesheet, gambar, dll.). Tidak akan melayani apa saja sumber daya dari cache - mendapat salinan baru dari server tanpa mengirim apa pun if-modified-since atau if-none-match header dalam permintaan.

    Setara dengan pengguna melakukan "reload keras" di browser di mana itu mungkin.

    Perhatikan bahwa lewat true untuk location.reload() didukung di Firefox (lihat MDN) dan Internet Explorer (lihat MSDN) tetapi tidak didukung secara universal dan bukan bagian dari spesifikasi W3 HTML 5, juga W3 draft HTML 5.1 spec, juga Standar Hidup HTML WHATWG.

    Di browser yang tidak mendukung, seperti Google Chrome, location.reload(true) berperilaku sama seperti location.reload().

  • location.reload() atau location.reload(false)

    Muat ulang halaman, ambil salinan halaman HTML itu sendiri yang belum di-cache, dan lakukan RFC 7234 permintaan revalidasi untuk sumber daya apa pun (seperti skrip) yang telah di-cache oleh browser, bahkan jika mereka segar adalah RFC 7234 memungkinkan browser untuk melayani mereka tanpa revalidasi.

    Persis bagaimana browser harus menggunakan cache ketika melakukan location.reload()panggilan tidak ditentukan atau didokumentasikan sejauh yang saya tahu; Saya menentukan perilaku di atas dengan eksperimen.

    Ini setara dengan pengguna cukup menekan tombol "segarkan" di browser mereka.

  • location = location (atau tak terbatas banyak teknik lain yang mungkin melibatkan penugasan location atau ke propertinya)

    Hanya berfungsi jika URL halaman tidak mengandung fragid / hashbang!

    Muat ulang halaman tanpa mengambil atau memvalidasi ulang apa saja  segar sumber daya dari cache. Jika HTML halaman itu sendiri masih segar, ini akan memuat ulang halaman tanpa melakukan permintaan HTTP sama sekali.

    Ini setara (dari perspektif cache) ke pengguna membuka halaman di tab baru.

    Namun, jika URL halaman berisi hash, ini tidak akan berpengaruh.

    Sekali lagi, perilaku caching di sini tidak ditentukan sejauh yang saya tahu; Saya memutuskannya dengan menguji.

Jadi, dalam ringkasan, Anda ingin menggunakan:

  • location = location untuk penggunaan cache maksimum, selama halaman tidak memiliki hash di URL-nya, dalam hal ini tidak akan berfungsi
  • location.reload(true) untuk mengambil salinan baru dari semua sumber daya tanpa memvalidasi ulang (meskipun tidak didukung secara universal dan akan berperilaku tidak berbeda location.reload() di beberapa browser, seperti Chrome)
  • location.reload() untuk mereproduksi efek pengguna dengan mengklik tombol 'segarkan'.

28
2017-11-14 11:22



window.location.reload() akan memuat ulang dari server dan akan memuat semua data Anda, skrip, gambar, dll. lagi.

Jadi jika Anda hanya ingin me-refresh HTML, itu window.location = document.URL akan kembali lebih cepat dan dengan lebih sedikit lalu lintas. Tetapi tidak akan memuat ulang halaman jika ada hash (#) di URL.


20
2017-10-13 20:32



JQuery Load fungsi juga dapat melakukan refresh halaman:

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

13
2018-06-24 20:08