Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Muat Turun Fail Menggunakan JavaScript atau jQuery Tanpa Memuatkan Semula Halaman?

Bagaimanakah Saya Boleh Muat Turun Fail Menggunakan JavaScript atau jQuery Tanpa Memuatkan Semula Halaman?

Barbara Streisand
Barbara Streisandasal
2024-12-15 06:47:15472semak imbas

How Can I Download a File Using JavaScript or jQuery Without Reloading the Page?

Muat Turun Fail Menggunakan JavaScript/jQuery Tanpa Menggantikan Kandungan Halaman

Apabila pengguna mengklik pada hiperpautan, ia biasanya membuka kandungan yang sepadan dalam halaman web semasa. Walau bagaimanapun, terdapat senario di mana anda perlu mencetuskan muat turun fail secara manual tanpa menggantikan kandungan halaman.

Untuk mencapai matlamat ini, anda boleh menggunakan dua pendekatan utama:

1. Menggunakan iFrame Halimunan:

Buat elemen iframe halimunan dalam HTML anda:

<iframe>

Kemudian, gunakan JavaScript untuk menetapkan atribut "src" iframe kepada URL fail:

function Download(url) {
  document.getElementById('my_iframe').src = url;
}

Untuk menghalang penyemak imbas daripada mentafsir fail tertentu (cth., HTML, teks) sebagai web halaman dan memaksanya dimuat turun, anda mungkin perlu menetapkan jenis MIMEnya kepada "application/x-please-download-me" atau "application/octet-strim" di sebelah pelayan.

2. Membuka Fail dalam Tab Baharu:

Untuk membuka muat turun dalam tab baharu, anda boleh mengubah suai atribut sasaran hiperpautan:

<a href="file.pdf" target="_blank">Download</a>

Sebagai alternatif, gunakan jQuery untuk menetapkan secara dinamik atribut sasaran:

$('a#someID').attr({target: '_blank', href: 'file.pdf'});

Apabila pengguna mengklik pada hiperpautan, atribut sasaran memastikan bahawa fail itu dimuat turun dalam tab atau tetingkap baharu.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Muat Turun Fail Menggunakan JavaScript atau jQuery Tanpa Memuatkan Semula Halaman?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn