Page 1 sur 1

Free bloque le javascript du site

Publié : septembre 13, 2015, 7:02 pm
par Aurelienazerty
Depuis plusieurs années, free permet de bloquer les publicités. Ce blocage a été activé par défaut au début pour en faire une fonctionnalité Free désactive son blocage de la publicité, mais le mal est fait.
Bref jusqu'ici ça ne me posait pas de problème, j'utilise adblock. Mais il y a quelques semaines un pote m'alerte que le site en version mobile fonctionne mal, le menu n'apparaît pas. Bref après pas mal de recherches, de modification de code, impossible de reproduire le truc chez moi. Puis il teste depuis autre chose que le Wi-Fi de chez lui et là miracle, tout fonctionne.
Là je suis sur le Wi-Fi free, et je confirme le blocage, même le moteur de recherche qwant est inutilisable. Bref ça m'énerve légèrement parce que le site est complètement inutilisable !!!!

Free c'est de la merde

Publié : septembre 13, 2015, 9:15 pm
par Aurelienazerty
J'ai trouvé une "parade" enfin je crois, je ne peux plus tester maintenant que je suis chez moi. Mais en gros, c'est simple : Au lieu de charger le JS et bien je le fout dans le corps de la page. Bon du coup, la taille de la page gonfle fortement, rien n'est mis en cache, c'est très sale, mais tant pis.

Problème réglé

Publié : octobre 11, 2015, 11:20 am
par Aurelienazerty
Après quelques modifications, problème réglé.

Re: Free bloque le javascript du site

Publié : octobre 11, 2015, 2:09 pm
par Arken
Tu peux expliquer ce que tu as fait ?

dans la page

Publié : octobre 11, 2015, 8:01 pm
par Aurelienazerty
Alors j'ai mis le contenu du head.js dans le corps de la page. Heureusement, il est assez petit (ctb), du coup, je peux quand même faire un appel au reste des scripts JS, via un head.js('/include/scripts_js-skin_id-9.js');
Ensuite, le code JS est fait ainsi :

Code : Tout sélectionner

<script type="text/javascript" defer>
//<![CDATA[
Le contenu du head.js
//]]>
</script>
<script type="text/javascript" defer>
//<![CDATA[
 head.js('/include/scripts_js-skin_id-9.js');
 Éventuellement du JS spécifique pour la page
 //]]>
 </scrip>
 <script type="text/javascript" async>
 //<![CDATA[
 appels aux librairies JS externes
 //]]></script>
Comme tu peux le voir, je mets un async sur l'appel des librairies externes ce qui permet de ne pas bloquer la page.
Et je sépare en 3 blocs. Il n'y a pas d'autre JS qu'ici, et c'est tout avant la balise </body> comme c'est recommandé.