Vérification quelqu'un de la bande passante et le chargement de contenu basé sur elle
J'ai vu un certain nombre de questions qui ne pas répondre à cette question, est-il possible de contrôler quelqu'un de la bande passante à l'aide de java script et de charger un contenu spécifique en fonction de ça?
La BBC semblent me donner la faible qualité des images lors de l'utilisation de mon mobile et dans le milieu de nulle part.
par les regards de ce service de fraîcheur, et son un CA de sorte qu'il pourrait être côté serveur.
Personne ne sait comment ils le font? ou comment je pourrais le faire à l'aide de asp.net ou javascript, ou une communauté opensource brancher.
Je pense que c'est peut-être possible avec https://github.com/yahoo/boomerang/ mais pas sûr que c'est son vrai but.
ouais il charge d'une meilleure qualité d'image, ce sur un blackberry.
Par navigateur ou par application? Si vous utilisez une application... elle aura accès à du matériel info, la force du signal et de la technologie utilisée pour se connecter au réseau (2G,3G, LTE, WiFi), de sorte que l'application, dans ce cas, décidez combien de bande passante consommée. Par la manière, le navigateur est une application, alors, eh bien... Vous feriez mieux de le tester avec votre ordinateur portable, un modem USB, et d'un navigateur dans le milieu de nulle part et de dire si elle fonctionne encore.
Juste le standard du navigateur blackberry, donc oui, cela pourrait en faire. Ressemble son temps à la tête pour les collines avec le portable!
Voir ceci: stackoverflow.com/questions/5529718/...
OriginalL'auteur Paul | 2012-12-21
Vous devez vous connecter pour publier un commentaire.
Fondamentalement, vous le faire comme ceci:
Somethign comme cela pourrait fonctionner:
Pas que
var xmlHttp = new XMLHttpRequest();
ne fonctionne pas sur tous les navigateurs, vous devriez vérifier pour le UserAgent et d'utiliser la bonneEt bien sûr sa juste valeur estimée.
Heres un JSBin exemple
Monosodique L-glutamate :))
Désactiver la mise en cache avant de les essayer. Ou comme par exemple la première demande devra être téléchargé à partir du serveur distant et le reste de la demande serait servi de cache.
OriginalL'auteur Moritz Roessler
Le problème avec le JavaScript, c'est que les utilisateurs peuvent désactiver. (Ce qui est plus fréquent sur les téléphones, qui se trouvent être mieux avec des images plus petites)
C'est un juste point de. Cependant, côté client, vous ne voulez pas attendre pour obtenir des images util après avoir "stable" données de la bande passante. Je vous suggère de chargement des images avec le JavaScript, l'ajout d'un
'load'
écouteur d'événement pour ces images, calculer la bande passante, et de stocker la bande passante localement. De cette façon, vous pouvez commencer à charger quelques petites images, d'obtenir une bande passante moyenne, et de modifier dynamiquement ce que les images sont chargées.Pensez-vous que cela va fonctionner? Faire de même sur le côté serveur à l'aide de votre propre gestionnaire HTTP spécial "knonw de taille de fichiers. Démarrer la minuterie sur le côté serveur, ouvrez le fichier de test (par exemple, votre principale logo du site) et l'envoyer par écrit dans le flux de sortie. Une fois que les expressions du FOLKLORE est atteint (client terminé le chargement de contenu) puis arrêter le minuteur.
oui, même idée, mais côté serveur.
OriginalL'auteur Cerbrus
J'ai frappé cette sur le calendrier de base téléchargement des images (ref: http://www.ehow.com/how_5804819_detect-connection-speed-javascript.html)
Mot d'avertissement si:
Il me dit que mon débit est 1.81 Mbps,
Mais selon SpeedTest.Net mes vitesses sont à ceci:
La logique du timing, le téléchargement semble juste, mais vous ne savez pas si elle est exacte?
OriginalL'auteur Greg
Bien, comme je l'ai dit dans mes commentaires, vous pouvez en choisir 2 approches:
1) Vous êtes dans le contexte d'une application mobile, alors vous pouvez faire une requête de la technologie utilisée par le périphérique directement, donc vous pouvez vous informer directement sur le serveur de ce type (et la taille) de contenu vous êtes en mesure de rendre. Je pense phone gap peut vous aider à accéder à certaines mobile native de l'API à l'aide de JavaScript.
2) Le serveur de la minuterie chose. Vous pouvez "servir" certains fichiers vous-même, disons que vous avez une magie de fichier dans votre page de destination, que, dès que le client demande le fichier, vous prenez cette requête HTTP avec un gestionnaire personnalisé. Vous "manuellement" servir le fichier en écriture pour le flux de sortie, et que l'on mesure les octets envoyer et le temps qu'il a fallu pour atteindre les expressions du FOLKLORE, alors vous pouvez en quelque sorte de mesurer la bande passante. Combinez cela avec le cookie de session et que vous avez cette information par navigateur connecté.
OriginalL'auteur Adrian Salazar
Alors que ce n'est pas une réponse, il peut être important de noter que la mesure de la bande passante n'est pas toujours fiable.
http://www.smashingmagazine.com/2013/01/09/bandwidth-media-queries-we-dont-need-em/
Pour paraphraser le ci-dessus:
Puisque c'est une vieille question, la suggestion de remplacement à la fin de l'article est de considérer la plus récente
srcset
l'attribut pour sensible de l'imagerie, ce qui permet au navigateur de décider de l'actif de la charge en fonction de ce qu'il sait (qui doit être plus que nous). Il sonne comme il est pondéré en plus vers la juste détermination de la résolution, mais peut-être que vous êtes plus intelligent que l'aide va jusqu'.OriginalL'auteur drzaus
J'ai publié BwCh qui est un open-source de l'API JavaScript pour détecter la bande passante pour les environnements web
Il est construit avec ES2015. Il utilise les dernières JavaScript de l'innovation (fenêtre.navigator.connexion actuellement pris en charge dans Chrome 48+ pour Android dès avril 2016) afin de fournir une méthode souple pour détecter la bande passante pour les appareils mobiles et de bureau. Il issues/compléments à l'image pré-chargement pour détecter la bande passante où ceux plus récents de l'API ne sont pas disponibles.
OriginalL'auteur Arnaud Leyder