Maison > interface Web > js tutoriel > Comment puis-je suivre dynamiquement la fin du téléchargement du navigateur pour les fichiers générés côté client ?

Comment puis-je suivre dynamiquement la fin du téléchargement du navigateur pour les fichiers générés côté client ?

Linda Hamilton
Libérer: 2025-01-03 18:59:41
original
438 Les gens l'ont consulté

How Can I Dynamically Track Browser Download Completion for Client-Side Generated Files?

Générer un fichier généré dynamiquement et détecter la réception des téléchargements du navigateur

Lors de l'activation des téléchargements de fichiers à partir d'un contenu généré dynamiquement, le comportement ultérieur du navigateur peut poser défis liés au suivi de l’achèvement du téléchargement. Ce problème présente la nécessité de surveiller les actions du navigateur pour masquer les indicateurs d'attente de manière appropriée.

La solution fournie utilise un script JavaScript côté client :

  1. Générer un jeton unique : Créez un jeton aléatoire pour identifier de manière unique la demande de téléchargement.
  2. Soumettez la demande de téléchargement : Incluez le jeton dans la requête via un champ GET/POST.
  3. Afficher l'indicateur de chargement : Afficher l'indicateur "en attente" pour informer l'utilisateur.
  4. Démarrer un minuteur : Recherchez un cookie nommé "fileDownloadToken" à intervalles réguliers (par exemple, tous les seconde).
  5. Masquer l'indicateur de correspondance : Si le cookie existe et correspond au jeton, masquez l'indicateur "en attente".

En conséquence, le serveur- logique secondaire :

  1. Récupérer le jeton de la requête : Recherchez le GET/POST jeton dans la requête.
  2. Définir le cookie sur la disponibilité du jeton : Si un jeton non vide existe, déposez un cookie nommé "fileDownloadToken" avec sa valeur définie sur le jeton.

Cette approche offre une compatibilité spécifique au navigateur sans nécessiter la création de fichiers temporaires sur le serveur.

Implémentation côté client (JavaScript) :

[Code JavaScript fourni dans la réponse d'origine]

Exemple d'implémentation côté serveur (PHP) :

[ Code PHP fourni dans la réponse originale]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal