Je vois que certaines des appels serveur (utilisés à des fins de suivi) sur mon site sont interrompus dans Firefox lorsqu'on regarde à travers HttpFox. Cela se produit lorsque je clique sur un lien qui charge une autre page dans la même fenêtre. Ça fonctionne bien avec les popups. Le type d'erreur affiché est NS_BINDING_ABORTED. J'ai besoin de savoir si l'appel de suivi atteint le serveur ou non. Ça fonctionne parfaitement avec Internet Explorer. Y a-t-il un problème avec l'outil ? Dans ce cas, pouvez-vous en suggérer un autre qui pourrait être utilisé dans Firefox également.
Réponses
Trop de publicités?Parce que votre serveur ne renvoie pas d'en-têtes HTTP Expires, le navigateur vérifie si ce qui se trouve dans son cache est actuel.
Il le fait en envoyant une demande au serveur en précisant la date de ce qu'il a dans le cache, et le serveur envoie un statut 304 indiquant au client que ce qu'il a est à jour. En d'autres termes, le serveur n'envoie pas à nouveau l'intégralité du contenu mais envoie plutôt un court en-tête pour indiquer que le contenu du cache existant est à jour.
Ce que vous devez probablement corriger, c'est d'ajouter des en-têtes Expires à ce que vous servez. Ensuite, vous verrez le message NS_BINDING_ABORTED changer en (cache), ce qui signifie que le navigateur obtient simplement le contenu de son cache, sachant qu'il n'a pas encore expiré.
Je devrais ajouter que, lorsque vous faites un rafraîchissement forcé dans FireFox, il suppose que vous souhaitez vérifier ce qui se trouve dans le cache, donc il ignore temporairement Expires.
Vous ne devriez pas vous inquiéter simplement parce que vous voyez quelque chose qui ressemble à un code d'erreur (NS_BINDING_ABORTED
).
Dans un post un développeur de Firefox confirme que NS_BINDING_ABORTED
est simplement une indication qu'un chargement de page a été arrêté.
Il semble tout à fait normal qu'ouvrir une page alors qu'une autre page se charge annule les chargements sur la première page. Cela ne signifie pas nécessairement que les chargements ont été interrompus avant que la requête ne soit envoyée au serveur, ce que vous semblez craindre.
[edit: reformulé & supprimé la partie sur le fait que je ne suis pas familier avec HttpFox, car les personnes qui voient ceci en 2022 ne l'utilisent probablement pas de toute façon.]
Quel autre javascript avez-vous sur la page? Certains javascript pourraient être déclenchés, ce qui pourrait provoquer l'annulation de la requête.
J'ai remarqué la même chose dans mon application. Je redirigeais la page en javascript (window.location = '/some/page.html') mais ensuite, plus bas dans le bloc de code, j'appelais 'window.reload()'. La redirection précédente a été annulée car window.reload a été appelé.
Je ne sais pas quel suivi vous utilisez, mais il est possible que la requête soit envoyée à votre serveur mais que la requête soit annulée car une autre requête a été émise par la suite.
Dans mon cas, même erreur NS_BINDING_ABORTED
, mais c'était parce qu'un élément "button", sur lequel j'ai cliqué pour déclencher un événement, manquait de la valeur de l'attribut "type" "submit" = Comment empêcher les boutons de soumettre des formulaires
J'ai rencontré un problème similaire, mais j'ai identifié la cause.
J'ai un lien dans la première cellule d'une ligne de tableau, et un peu de Javascript qui reproduit ce lien à travers les autres TD de la ligne. Lorsque je clique sur le lien "réel" (dans la première cellule), j'obtiens cet effet indésirable; lorsque je clique sur les autres cellules de la ligne, tout va bien. Je pense que c'est parce que le script ajoute un second lien à cette première cellule, alors qu'elle en a déjà un.
Par conséquent, deux demandes instantanées pour la même page, la première étant interrompue par la seconde.
Cette technique est assez courante, donc il faut être vigilant.
- Réponses précédentes
- Plus de réponses