Partage
  • Partager sur Facebook
  • Partager sur Twitter

Masquer un bloc/Afficher un bloc

Sujet résolu
    19 novembre 2008 à 16:20:31

    Bonjour

    Mon site nécessite sur certaines pages l'emploi des cookies pour cause de variables sessions...
    J'ai donc ajouté ce code dans mon <head></head>:
    <script type="text/javascript">
    if(navigator.cookieEnabled)
    {
    	alert("cookies enabled");
    }
    else
    {
    	if(!navigator.cookieEnabled)
    	{
    		alert("cookies disabled");
    	}
    	else
    	{
    		alert("connais même pas");
    	}
    }
    </script>
    


    Jusque là... ça marche... En temps normal à l'ouverture de la page j'ai une pop up m'affichant "cookies enabled" alors que si je bloque les cookies j'ai au contraire une pop up "cookies disabled".

    Je tente alors de modifier de sorte que si les cookies sont bloqués, j'aurai un div contenant un message d'erreur qui sera affiché tandis que mon div principal sera masqué sur ma page... Au contraire si les cookies sont autorisés, ma page s'affichera normalement sans le message d'erreur...

    Ma page html est conçue ainsi:
    <body onload="document.getElementById('captcha_ok').style.display = 'none'; document.getElementById('txt_captcha').disabled = false; document.getElementById('txt_captcha').value = ''; document.getElementById('writing').disabled = true; ">
    
    <div id="header">
    	<?php
    	include("theme/default/header.inc.php");
    	?>
    </div>
    
    <div id="main">
    	<?php
    	include("contact-contenu-html.inc.php");
    	?>
    </div>
    
    <div id="nocookie">
    	Cette page ne peut fonctionner sans l'activation des cookies
    </div>
    
    <div id="footer">
    	<?php
    	include("theme/default/footer.inc.php");
    	?>
    </div>
    
    </body>
    


    Du coup j'ai modifié mon javascript ainsi:
    <script type="text/javascript">
    if(navigator.cookieEnabled)
    {
    	//alert("cookies enabled");
    	document.getElementById('main').style.display='block';
    	document.getElementById('nocookie').style.display='none';
    }
    else
    {
    	if(!navigator.cookieEnabled)
    	{
    		//alert("cookies disabled");
    		document.getElementById('main').style.display='none';
    		document.getElementById('nocookie').style.display='block';
    	}
    	else
    	{
    		alert("connais même pas");
    	}
    }
    </script>
    


    Mais malheureusement les 2 blocs apparaissent dans tous les cas... Je ne comprends pas pourquoi mon code ne fonctionne pas...

    Est ce que quelqu'un aurait une idée sur le problème?

    Merci


    ----------------------------

    C'est bon, j'ai l'explication: je lançais le script trop tôt, dans le head, alors qu'il faut le lancer en fin de page histoire d'avoir repéré qui est le bloc main, qui est le bloc nocookie et qui doit être affiché/masqué...
    • Partager sur Facebook
    • Partager sur Twitter

    Masquer un bloc/Afficher un bloc

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown