7
votes

Détecter et se connecter lorsque des ressources externes JavaScript ou CSS ne parviennent pas à charger

J'ai plusieurs Références aux ressources JS et CSS externes. Surtout, ce sont des choses comme des analyses tiers, etc. De temps en temps (anecdotage), ces ressources ne parviennent pas à se charger, ce qui entraîne souvent des délais d'attente de navigateur. Est-il possible de détecter et de vous connecter au serveur lorsque des ressources externes JavaScript ou CSS ne parviennent pas à charger?

J'étais compte tenu du type de mécanisme de chargement paresseux que lorsque, lors de l'échec, une URL spéciale serait appelée à enregistrer cette défaillance. Toute suggestion là-bas?

Ce que je pense arrive:

  1. L'utilisateur frappe notre page et le serveur latéral traite avec succès et sert la page

  2. du côté du client, l'en-tête HTML tente de se connecter à nos partenaires d'intégration tierce, généralement par un JavaScript, ceci commence par "http: //www.someothercany.com ...".

  3. L'autre société ne peut pas gérer notre charge ni avoir le temps de merde, et la connexion échoue.

  4. L'utilisateur voit une page générique non trouvée non trouvée, pas une de notre serveur.

    Donc, même si mon site était en hausse et que tout le reste fonctionne bien, simplement parce que celui-ci appelle aux serveurs tiers a échoué, une dans l'en-tête de la page HTML, nous obtenons toute une échec de lancement.


4 Réponses :



-1
votes

Faites un hachage du nom de la JS et de la session Cookie et envoyez un nom JS en plaine et le hachage. Côté serveur, faire le même hachage, si les deux sont les mêmes journaux, sinon, supposons que c'est un abus.


3 commentaires

Je ne peux rien faire de hasch si toute la page ne parvient pas à charger. Voir la modification que j'ai faite à la question de clarification.


Je veux dire que vous combinez cela avec une chargement paresseuse 3ème partie JS, après Votre page devient fonctionnelle; et ping votre js_failed_logger.php avec le nom et le hachage dans l'événement JS échoue à charger. Votre question impliquée que vous êtes concerné par cet exploitant, plutôt que de la mettre en œuvre.


Merci. Je pense que je suis initialement intéressé par la manière de la mettre en œuvre. Si cela fonctionne, je peux comprendre comment le sécuriser.



4
votes

Si votre application / page dépend de JS, vous pouvez charger le contenu avec JS, je sais que c'est déroutant. Lors du chargement de ceux-ci avec JS, vous pouvez avoir des rappels qui vous permettent de ne disposer que de la fonctionnalité du contenu chargé et de ne pas avoir à vous soucier de ce que vous n'avez pas chargé.

var script = document.createElement("script");
script.type = "text/javascript";
script.src = 'http://domain.com/somefile.js';
script.onload = CallBackForAfterFileLoaded;
document.body.appendChild(script);
function CallBackForAfterFileLoaded (e) {
//Do your magic here...
}


3 commentaires

C'est plus ou moins ce que j'étais après. J'ai trouvé cette technique également: sympaw.com/js/lazy-loading-Asyncroneux- JavaScript


Je suppose que vous voulez dire script.onload = callbackforafterfileloaded; , sans ()


Oui, désolé pour ça!



0
votes

Qu'en est-il de Serviceworker? Nous pouvons l'utiliser pour intercepter toutes les demandes HTTP et obtenir le code de réponse pour vous connecter si la ressource externe ne parvient pas à charger.


0 commentaires