Dans google Chrome, il n'a pas terminer le chargement de fichiers JS
Je suis en train d'écrire une application qui comprend environ 12 petits fichiers JS dans le <head>
section (je sais, je devrais les fusionner et de les déplacer juste avant la fin de <body>
; aurait à ceux dans la production)
Le problème est que lorsque j'essaie de charger l'application dans google Chrome, Certains fichiers charge immédiatement, tandis que certains de ne jamais terminer le chargement de à tous! Chrome continue d'essayer de charger le 12 fichiers JS et jamais rend la page jusqu'à ce que je frappe "Stop".
Quand j'appuie sur stop, le HTML est rendue et la JS fichiers échoue comme dans l'image ci-dessous:
Note que les différents JS fichiers échoue à chaque tentative! Ce n'est pas le même fichier qui se plante à chaque fois!
Inspecter les en-têtes de l'échec de fichiers affiche "Attention: la demande n'est pas encore fini". Les fichiers sont bloqués dans "Réception" parfois, pour beaucoup minutes en!
Maintenant, voici la partie amusante, après avoir atteint arrêter, si je me concentre sur l'omnibar et appuyez sur entrée, tous les fichiers JS charger instantanément et que l'application fonctionne très bien!
Sur le côté serveur, je suis en utilisant Apache, PHP et MySQL. Ai-je mal configuré quelque chose dans Apache?
situation après 2 épuisant jours: que dalle, rien, nada, c'est me rend fou. J'ai essayé de lancer le code à partir de machines différentes, ont essayé de changer apache paramètres de cache et changé une myriade de choses en javascript, mais rien n'a fonctionné. Le pire, c'est que l'on ne peut cerner le point où est le problème!
Toutes les extensions sont bloqués. N'est pas une face de quelque chose comme ça avant? Et pourquoi la baisse de vote? Je suis encore à trouver une solution, n'importe où!
Avez-vous essayé de l'hébergement des fichiers ailleurs? Peut-être qu'il ya une sorte de mime-type de question? (Je n'ai pas le droit de vote.
3.5 min pour charger minifiés jquery - quelque chose ne va vraiment pas ici. Avez-vous l'expérience que les problèmes que dans Chrome? Ce qui se passe dans Firefox?
Avez-vous essayé de commenter ou supprimer chaque incluent, recharger et voir si vous obtenez le même problème
OriginalL'auteur Kshitij Saxena -KJ- | 2014-09-15
Vous devez vous connecter pour publier un commentaire.
Une possibilité est que vous avez Keep-Alive activé et il ne fonctionne pas correctement. J'ai vu cela avant. Le navigateur établit-il du nombre maximal de connexions à votre serveur (généralement 6) pour télécharger les premiers fichiers (CSS, JS, etc.) ensuite, ces connexions ne sont pas libérés jusqu'à ce qu'ils temps. Mes symptômes n'étaient pas tout à fait la même que la vôtre - le délai d'attente est de 20 secondes et tout irait pour le chargement par lots de 6 après, mais cela pourrait en être la cause.
Dans votre configuration d'Apache (httpd.conf sur la plupart des systèmes), cherchez les
KeepAlive
ligne (ou l'ajouter si elle est manquante) et l'a mis àOff
.OriginalL'auteur Dave Morrissey
Plus d'une réponse, voici comment je pourrais résoudre le problème.
Une des choses que j'aimerais essayer est de commenter les balises d'un à la fois et de le recharger, pour voir où le seuil est de. Aussi, parce que c'est probablement un problème de configuration du serveur, j'avais le redémarrer après chaque essai, d'avoir une ardoise propre, pour ainsi dire, c'est à dire, aucun état conservé entre la tente.
J'avais essayer d'obtenir plus de conseils en essayant de faire la demande pour les différents scripts Javascript à partir d'un script dans la langue de votre choix. Idéalement, j'aimerais essayer d'Obtenir les scripts un par un (avec curl), en attente de quelques millisecondes entre les demandes. J'imagine que j'avais atteint un seuil. Comme, l'obtention d'un script par seconde fonctionne, mais lorsque les demandes s'approcher de trop près, le serveur se bloque.
Si toujours pas la moindre idée, j'aimerais utiliser tcpdump pour regarder le trafic entre le navigateur et le serveur. Bon d'accord, c'est peut être un peu trop faible niveau de!
Mais peut-être que j'avais utiliser netstat pour voir le nombre de connexions que le navigateur s'ouvre en parallèle sur le serveur afin d'extraire les ressources, et de voir si nous nous heurtons à une simultanéité limite.
Je suis désolé c'est une solution mais j'espère que vous aurez quelques idées, et je serais très curieux de savoir ce que votre problème est, en fin de compte!
OriginalL'auteur idrarig
Essayer d'imiter problème dans https://www.stevesouders.com/cuzillion/
Il faut dire que vous côté de de problème le chrome ou le serveur
OriginalL'auteur Kondrat Shmoylov
Vérifier le Contenu de l'en-tête de Longueur. Le serveur peut transmettre la valeur incorrecte - greather que réelle de la longueur du contenu.
OriginalL'auteur Vyacheslav Gostyukhin
Nous avons eu exactement le même message "Attention: la demande n'est pas encore fini" après une demande dans le navigateur.
La demande elle-même était de l'ordre de 15 MO de JSON, qui a été nourri en angle, 1 application. Cette demande a pris environ 2 secondes. Juste après la demande a été terminé, l'angle de digérer cycle bloqué le navigateur pour plus de 12 secondes (ce qui est visible par le profilage lors de la demande). Pendant ce temps, google Chrome ont montré que cette "mise en garde: la demande n'est pas encore fini" message de demande, alors qu'il était en réalité déjà fini.
OriginalL'auteur Jos de Jong
Il y a plusieurs bonnes réponses, mais si vous voulez une méthode infaillible de faire cela, vous pouvez utiliser le PHP pour envoyer tous les scripts à la fois. Si le problème est vraiment trop grand nombre de connexions sur le serveur, vous pourriez ajouter un peu de code html comme ceci:
Puis dans
scripts.php
vous utilisez leinclude()
fonction pour inclure tous les fichiers JavaScript comme ceci:Si rien ne fonctionne et le problème est excessif de connexions, cela devrait fonctionner.
OriginalL'auteur Ramsay Smith