Heim >Web-Frontend >js-Tutorial >Wie kann ich mit JavaScript/jQuery Dateien in einem neuen Tab oder Fenster herunterladen, ohne die aktuelle Seite zu ersetzen?

Wie kann ich mit JavaScript/jQuery Dateien in einem neuen Tab oder Fenster herunterladen, ohne die aktuelle Seite zu ersetzen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-15 21:44:11947Durchsuche

How Can I Download Files in a New Tab or Window Using JavaScript/jQuery Without Replacing the Current Page?

Dateien mithilfe von JavaScript/jQuery herunterladen, ohne die aktuelle Seite zu ersetzen

Problem:
Wie initiieren Sie einen Dateidownload manuell in einem separaten Tab oder Fenster, während das Standardverhalten vermieden wird, bei dem die aktuelle Seite durch die heruntergeladene Datei ersetzt wird JavaScript/jQuery?

Lösung:

So laden Sie eine Datei in einem neuen Tab oder Fenster herunter, ohne die aktuelle Seite zu unterbrechen:

Verwenden ein unsichtbarer Iframe:

Diese Methode erstellt einen unsichtbaren Iframe und weist die Download-URL seinem Quellcode zu Attribut:

<iframe>

Dies löst den Download im Hintergrund aus. Um sicherzustellen, dass der Browser nicht darstellbare Dateien (z. B. HTML, Text) herunterlädt, muss der Server den MIME-Typ der Datei auf einen unsinnigen Wert wie application/x-please-download-me oder application/octet-stream setzen.

In einem neuen Tab öffnen (jQuery):

Um die Datei in einem neuen Tab zu öffnen, verwenden Sie jQuery zum Festlegen Setzen Sie das Zielattribut des Links auf _blank und geben Sie die URL der Datei im href-Attribut an:

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

Wenn auf den Link geklickt wird, wird die Datei je nach Browsereinstellungen in einem neuen Tab oder Fenster heruntergeladen.

Das obige ist der detaillierte Inhalt vonWie kann ich mit JavaScript/jQuery Dateien in einem neuen Tab oder Fenster herunterladen, ohne die aktuelle Seite zu ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn