Le téléchargement de rafraîchissement signifie que lorsqu'un utilisateur clique pour télécharger sur une page Web, la page entière ne sera pas actualisée, puis le téléchargement du fichier peut être démarré. Cette méthode peut efficacement améliorer l'expérience utilisateur et éviter le temps d'attente causé par le rechargement de la page. Cet article montrera comment combiner la technologie JavaScript et PHP pour obtenir une fonction de téléchargement sans rafraîchissement.
Utilisez JavaScript pour créer un élément iframe caché et attribuez le lien de téléchargement à l'attribut SRC de Iframe , déclenchant le navigateur pour télécharger le fichier sans rafraîchir la page.
Le processus d'opération comprend:
function downloadFile(url) {
var iframe = document.createElement('iframe');
iframe.style.display = 'none';
iframe.src = url;
document.body.appendChild(iframe);
}
Exemple d'appel:
var downloadLink = 'http://example.com/file.pdf';
downloadFile(downloadLink);
Définissez l'en-tête de réponse HTTP correct via PHP, y compris la disposition du contenu et le type de contenu , afin que le navigateur puisse reconnaître le fichier comme une pièce jointe et démarrer le téléchargement au lieu d'ouvrir directement le fichier.
$file = 'path/to/file.pdf';
header('Content-Disposition: attachment; filename="' . basename($file) . '"');
header('Content-Type: application/octet-stream');
header('Content-Length: ' . filesize($file));
readfile($file);
Après avoir correctement défini ces informations d'en-tête, le navigateur apparaîtra automatiquement la fenêtre de téléchargement sans rafraîchir ou sauter la page.
En combinant les avantages de JavaScript et PHP, il est facile d'obtenir des téléchargements de fichiers sans rafraîchissement. JavaScript est chargé de créer des iframes cachés à l'avant et de déclencher des demandes de téléchargement; PHP définit l'en-tête HTTP correspondant du côté serveur pour s'assurer que le navigateur reconnaît le fichier comme un contenu téléchargeable. Cela améliore non seulement l'expérience utilisateur, mais évite également un rafraîchissement fréquent de la page.
Le point clé de la réalisation d'un téléchargement sans rafraîchissement est de masquer les demandes de déclenchement des éléments via les opérations JavaScript et de définir avec précision l'en-tête de réponse de téléchargement du côté PHP. Master ces deux parties et vous pouvez facilement créer des fonctions de téléchargement de fichiers efficaces.