Jump to content

Problème execution javascript sur site https


Recommended Posts

Bonjour,

 

depuis 1 mois j'ai mis en ligne mon site, en https, j'avais notamment le module Colissimo Simplicité qui fonctionnait très bien mais depuis quelques jours, impossible de charger le javascript qui permet de choisir la livraison à domicile ou en point relais.

 

J'ai contacté la société Quadra qui a développé le module, il ne me donne pas de solution mais me disent qu'il y a ce problème :

 

"Le module Colissimo nécessite l'utilisation de Javascript, sur la page je peux voir une erreur de contenu mixte, bloquant probablement le chargement du javascript.

Lors d'une erreur javascript, tout le code JS se bloque. Nous avons donc besoin que cette erreur soit résolu pour vous apporter plus d'aides.

Voici l'erreur :
Blocage du chargement du contenu mixte actif (mixed active content) « http://fonts.googleapis.com/css?family=Roboto:900,300,700,400 ».
"

 

Comment puis je autoriser ce script et/ou débloquer ce problème extrêmement dérangeant car en production ?

 

Merci beaucoup d'avance pour votre aide

Edited by TheCheck (see edit history)
Link to comment
Share on other sites

Bonjour,

 

il suffit de mettre https dans l'url qui d'appel du script ou encore mieux mettre //fonts ...

 

après il faut trouver où se cache cet élément genre dans le template, dans un tpl dans l'appel d'un css dans un autre script dans un module ...

 

là on ne peut pas vous aider à moins d’accéder à votre serveur.

Link to comment
Share on other sites

Bon déjà il y a a peu près 0% de chance que le non chargement d'une font / css  provoque un blocage js.

Ensuite avec une url c'est surement plus facile de voir exactement de quoi il en retourne.

 

Ton message n'est pas clair. Tu as mis le https il y a 1 mois et depuis 3 jours ça ne marche plus ou c'est depuis que tu es en https que cela ne marche plus ?

Link to comment
Share on other sites

Comme doekia j'imagine mal un fichier css créé ce problème.

Mais pour faire plaisir à Quadra tu devrais pouvoir corriger le chemin de la feuille de style dans le header.tpl de ton thème

 

Merci BeComWeb, malheureusement je n'ai rien dans le header.tpl

Je pense que c'est un appel vers un autre fichier, mais lequel... :(

Edited by TheCheck (see edit history)
Link to comment
Share on other sites

Est ce que dans le header.tpl tu as bien un bloc de code qui ressemble à ça ?

{if isset($css_files)}
  {foreach from=$css_files key=css_uri item=media}
    {if $css_uri == 'lteIE9'}
    <!--[if lte IE 9]>
      {foreach from=$css_files[$css_uri] key=css_uriie9 item=mediaie9}
        <link rel="stylesheet" href="{$css_uriie9|escape:'html':'UTF-8'}" type="text/css" media="{$mediaie9|escape:'html':'UTF-8'}" />
      {/foreach}
    <![endif]-->
  {else}
    <link rel="stylesheet" href="{$css_uri|escape:'html':'UTF-8'}" type="text/css" media="{$media|escape:'html':'UTF-8'}" />
   {/if}
  {/foreach}
{/if}
Edited by BeComWeb (see edit history)
Link to comment
Share on other sites

Il y a sûrement un module tiers type thememanager (souvent mal écrit sur la partie https).

Mais si le problème est soudain on perd notre temps à suivre cette piste pour ton problème.

 

D'autant que:

1/ Concernant simplicité, la page s'execute sur le serveur de laposte et non le tiens

2/ Je n'ai aucun problème pour choisir un point relais dans ton tunnel de commande

Link to comment
Share on other sites

 

Est ce que dans le header.tpl tu as bien un bloc de code qui ressemble à ça ?

{if isset($css_files)}
  {foreach from=$css_files key=css_uri item=media}
    {if $css_uri == 'lteIE9'}
    <!--[if lte IE 9]>
      {foreach from=$css_files[$css_uri] key=css_uriie9 item=mediaie9}
        <link rel="stylesheet" href="{$css_uriie9|escape:'html':'UTF-8'}" type="text/css" media="{$mediaie9|escape:'html':'UTF-8'}" />
      {/foreach}
    <![endif]-->
  {else}
    <link rel="stylesheet" href="{$css_uri|escape:'html':'UTF-8'}" type="text/css" media="{$media|escape:'html':'UTF-8'}" />
   {/if}
  {/foreach}
{/if}

 

 

En effet j'ai ceci dans mon header :

 

{if isset($css_files)}

            {foreach from=$css_files key=css_uri item=media}

                <link rel="stylesheet" href="{$css_uri|escape:'html':'UTF-8'}" type="text/css" media="{$media|escape:'html':'UTF-8'}" />

            {/foreach}

        {/if}

        {if isset($js_defer) && !$js_defer && isset($js_files) && isset($js_def)}

            {$js_def}

            {foreach from=$js_files item=js_uri}

            <script type="text/javascript" src="{$js_uri|escape:'html':'UTF-8'}"></script>

            {/foreach}

        {/if}

Link to comment
Share on other sites

L'appel a "http://fonts.googleapis.com/css?family=Roboto:900,300,700,400" se fait dans la balise {$HOOK_HEADER} du header.tpl

 

J'ai lancé une recherche de "googleapis" et "Roboto" dans mon code, impossible de trouver cet appel.

 

Je ne suis pas un expert Prestashop, du coup, pourriez vous me dire avec quoi est rempli $HOOK_HEADER ?

Est il possible que ce lien qui n'est pas en httpS soit en BDD ?

 

Merci, 3 jours que je me prends la tête et que je perds un temps fou.

Link to comment
Share on other sites

Je m'auto réponds histoire que ça serve peut-etre un jour à quelqu'un :

 

Plus précisément, le header de votre thème contient une balise {$HOOK_HEADER} qui sera remplacée à l'affichage par le contenu HTML généré par tous les modules qui sont branchés sur le hook nommé "header"

 

Ce qui ne résoud pas mon problème car je ne sais pas à quel endroit est généré ce bout de code (peut-etre le module Google Analytics) :

 

ga('send', 'pageview');

</script> <link href='http://fonts.googleapis.com/css?family=Roboto:900,300,700,400' rel='stylesheet' type='text/css'>
<style type="text/css"></style>

 

Ce code est juste après le script du module Google Analytics.

 

Je continue mes investigations...

Edited by TheCheck (see edit history)
Link to comment
Share on other sites

Attention, s'il se trouve dans la base de données c'est probablement parce que le thème ou un module l'enregistre lors de son installation.

Donc en cas de réinitialisation du "coupable", ça va recommencer.

 

D'ailleurs la piste évoquée par Doekia (un configurateur de thème) est probablement la bonne.

 

Bon maintenant que le problème qui n'avait rien à voir est résolu Quadra va pouvoir investiguer sur ton bug  ;)

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...