IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Chargement à chaud de script Javascript


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tchèque Rep.

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2019
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Chargement à chaud de script Javascript
    Bonjour.

    J'habite à Prague et je viens de me procurer la nouvelle Smart Box de chez O2 pour ma connexion Internet.

    Afin qu'un appareil ait accès à Internet via cette box, que ce soit en Wifi ou en filaire, il faut d'abord faire un www.google.com qui arrive sur une page 10.0.1.138/operator/index.html qui est une page très simple (ci-dessous), sur laquelle il faut cliquer sur un bouton "Installer l'application" (l'appli Samrt Box O2) (ce qui fait penser aux accès Wifi publics, mais là, c'est ainsi même branché en filaire).

    Après ce clic, normalement, une page s'affiche pour l'installation de ladite appli, mais pas besoin d'installer quoi que ce soit, un script Javascript s'est occupé d'envoyer "ce qu'il faut" à la box pour que l'appareil soit enregistré et que l'accès soit permis. Ça a fonctionné sur mes appareils en Wifi et une fois sous un Windows.

    Mon problème est le suivant : avant enregistrement de l'appareil sur la box, la connexion entre l'appareil est la box est, pour une raison qui m'est étrangère, d'une lenteur incroyable. Or, le clic sur le bouton fait appel à un script placé dans un fichier javascript de 4 Mo. Et il n'arrive pas à la charger entièrement avant interruption du chargement de la page. Ce qui me vaut :
    - sous Chrome sous Windows un "GET http://10.0.1.138/configurator/scripts.js?v=2b3c3310 net::ERR_CONTENT_LENGTH_MISMATCH"
    - sous Firefox sous Ubuntu un : Echec du chargement pour l'élément <script> dont la source est << http://10.0.1.138/configurator/scripts.js?v=2b3c3310 >>.

    Et ce qui ensuite donne une erreur lors du clic (sous Ubuntu/Firefox : ReferenceError: Sah is not defined).

    Et donc pas de connexion.

    Ma question est donc de savoir s'il y avait un moyen d'envoyer malgré tout à la box ce qui devrait être envoyé, par exemple en chargeant le script "à chaud" (j'ai récupéré ledit script sur mon Chromebook, donc je l'ai en local).

    J'ai tenté de le mettre sur mon serveur Apache et de modifier l'import du script dans le html via l'outil de développement de Firefox, de /configurator/scripts.js?v=2b3c3310 à 127.0.0.1/js/scripts.js?v=2b3c3310 mais ça n'a pas fonctionné.

    J'ai tenté, toujours dans le html, de coller le contenu du fichier juste à divers endroits, idem.

    Le technicien de la hotline n'ayant su que me faire vérifier les paramètres de ma carte réseau, je me retrouve maintenant dans une impasse...

    Merci d'avance pour vos idées !
    Raphaël.

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    <!DOCTYPE html>
    <html lang="cs">
    	<head>
    		<meta http-equiv="X-UA-Compatible" content="IE=edge">
    		<meta charset="utf-8">
    		<title>O2 Pexeso Pex</title>
    		<meta name="viewport" content="width=device-width, initial-scale=1, target-densitydpi=medium-dpi">
    		<meta name="MobileOptimized" content="320"><!-- IE Mobile meta header. -->
    		<meta name="HandheldFriendly" content="true">
    		<meta name="format-detection" content="telephone=no">
    		<link rel="stylesheet" type="text/css" media="all" href="./compiled/responsive.css?1491231651" />
    		<!--[if lte IE 8]>
    <link rel="stylesheet" type="text/css" media="all" href="./compiled/ie8--8af7f190d9eb9bf1ebbc81e5d36a2889.css?1491231651" />
        <![endif]-->
    		<link rel="shortcut icon" href="./images/o2/touchIcons/default/favicon.ico" type="image/x-icon" />
    		<link rel="apple-touch-icon-precomposed" href="./images/o2/touchIcons/default/touchIcon.png" />
    	</head>
            <script src="/configurator/scripts.js?v=2b3c3310" type="text/javascript"></script>
            <script>
               function onboarding() {
                    client = new Sah.Bus.Client.factory();
                    client.execute("sysbus.NMC.OnBoarding:get", 
                                   {},
                                   {
                                       onSuccess: function(result) {
                                            location.replace(result.result.status.Portal); 
                                       },
                                       onFailure: function() {} 
                                   });
               }
            </script>
    	<body>
    		<div id="top">
    			<div class="header content"><div class="in">
    				<img src="./images/o2/logo-o2-hres.png?3" width="30" height="30" alt="O2" class="brandLogo"/>
    				<a href="" class="logo">O2 Smart Box</a>
    				<div class="clear"></div>
    			</div></div>
    		</div>
    		<div id="page">
    			<div class="content content-600">
    				<h2 class="center">
    					Nastavte si domácnost pomocí aplikace <i>O2&nbsp;Smart&nbsp;Box</i> na vašem chytrém telefonu
    				</h2>
    				<p class="buttons">
    					<a onclick="onboarding()" class="button">Nainstalovat aplikaci</a>
    				</p>
    				<p class="image image--screenshot">
    					<img src="./images/o2-aplikace.png" width="300" height="512" alt="O2 Pexeso Pex" />
    				</p>
    			</div>
    		</div>
    	</body>
    </html>

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    vous pouvez essayer une extension comme Tampermonkey qui se rajoute dans votre navigateur, par exemple pour Firefox :
    https://addons.mozilla.org/fr/firefo.../tampermonkey/

    cette extension vous permet de rajouter un bout de code JavaScript qui sera exécuté au démarrage de la page.

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tchèque Rep.

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2019
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Super, merci beaucoup, je vais essayer ça. Encore faut-il que je me procure l'addon ailleurs pour l'installer offline... Pas trouvé pour l'instant...

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    ah oui si vous essayez de le récupérer avec firefox il va essayer de l'installer.
    sous linux faites la commande "wget https://addons.mozilla.org/firefox/downloads/file/3445433/tampermonkey-4.9.6091-an+fx.xpi?src=dp-btn-primary" pour le récupérer.

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tchèque Rep.

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2019
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Ah oui mais il me faudrait un PC qui ait Internet pour cela... Or pour l'instant, je n'ai que mon Chromebook et mon téléphone Samsung en Wifi...

    Pourquoi ont-ils inventé ce mode de connexion à la box... Hallucinant... C'était mieux avant...

  6. #6
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tchèque Rep.

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2019
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Je n'ai pas réussi à trouver le fichier de l'extension pour l'installer offline.

    J'ai essayé autre chose. De récupérer la page html et le script nécessaire et de les ouvrir depuis un navigateur. Le problème a cette fois été un problème de Cross-Origin Request...

    Finalement, mon problème a été résolu mais d'une autre manière. En fait, je pensais que la box communiquait à faible débit mais il s'agissait d'un défaut du câble Ethernet... qui faisait que le script n'avait pas le temps d'être chargé. Au temps pour moi.

    Merci en tout cas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exécution du script "javascript" au chargement de la page JSP
    Par FuneralRose dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 30/05/2012, 12h13
  2. Chargement d'un script javascript par Ajax
    Par lvr dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/12/2007, 23h16
  3. aide pour un script javascript
    Par speedylol dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 22/03/2006, 14h28
  4. utiliser un recordset dans un script javascript
    Par insect INC dans le forum ASP
    Réponses: 4
    Dernier message: 10/10/2005, 19h29
  5. [PHP-JS] Php dans un script javascript
    Par nebule dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/11/2004, 10h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo