Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mencetuskan Muat Turun Fail Secara Pengaturcaraan dalam Tab atau Tetingkap Baharu Menggunakan JavaScript atau jQuery?

Bagaimanakah Saya Boleh Mencetuskan Muat Turun Fail Secara Pengaturcaraan dalam Tab atau Tetingkap Baharu Menggunakan JavaScript atau jQuery?

DDD
DDDasal
2024-12-20 04:27:09833semak imbas

How Can I Programmatically Trigger a File Download in a New Tab or Window Using JavaScript or jQuery?

Cara Memulakan Muat Turun Fail Menggunakan JavaScript/jQuery

Senario:

Anda bertujuan untuk mencetuskan muat turun fail apabila pengguna mengklik pada elemen HTML tertentu menggunakan JavaScript atau jQuery, tetapi tanpa menggantikan kandungan halaman semasa. Sebaliknya, anda mahu membuka muat turun dalam tetingkap atau tab baharu.

Penyelesaian:

1. Menggunakan iframe Halimunan:

  • Buat elemen iframe halimunan dengan ID bukan lalai, seperti "my_iframe."
  • Gunakan atribut "src" iframe untuk menentukan URL fail.
<script>
  function Download(url) {
    document.getElementById("my_iframe").src = url;
  }
</script>

2. Memaksa Muat Turun:

  • Untuk memaksa penyemak imbas memuat turun fail yang boleh dipaparkan (cth. HTML atau teks), arahkan pelayan untuk menetapkan jenis MIMEnya kepada sesuatu yang tidak bermakna, seperti "application/x-please-download-me" atau "application/octet-strim."

3. Membuka Fail dalam Tab Baharu (jQuery):

  • Tetapkan atribut "sasaran" elemen HTML kepada "_blank" dan berikan URL fail dalam atribut "href".
$('a#someID').attr({target: '_blank', href: 'http://localhost/directory/file.pdf'});

Dengan mengklik pautan ini, fail akan dimuat turun dalam tab atau tetingkap baharu tanpa menjejaskan arus halaman.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencetuskan Muat Turun Fail Secara Pengaturcaraan dalam Tab atau Tetingkap Baharu Menggunakan JavaScript atau jQuery?. 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