11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Voila je viens à vous car j'ai un soucis avec mon site, j'ai implémenté un menu en javascript qui dévoile les sous-rubriques quand on clic sur les différents thèmes.

Mais un truc que je n'avais pas pensé sur le coup, est que pas mal de monde na pas forcement java supporté par son navigateur (les téléphones ...).

Donc ma question est y a t'il un moyen pour savoir si l'utilisateur dispose de la compatibilité java ou non. Car quand il arrive sur ma page, il voit le menu mais il n'a pas accès aux différentes sous rubriques.


1- Si il dispose de la compatibilité alors le menu se lance normalement.

2- Mais s'il na pas la compatibilité, alors les sous rubriques cachées seront dévoilées directement.

merci de votre aide
Bonjour,

Attention à la confusion JavaScript n'est pas Java, ce sont deux language très différents !

Ensuite, pour éviter tout problème de test, le plus simple c'est que dans ta feuille CSS, ce menu apparaisse déroulé, et qu'il soit masqué par le JavaScript au lancement de la page. C'est ce que l'on appelle l'amélioration progressive : tu propose un contenu de base (ton menu déroulé) qui est amélioré (via JS) pour les navigateurs qui le permettent.
j'ai enlever les liens html qui me permettais de fermer les sous-rubrique, maintenant c'est normalement ouvert

Mai comment je peut faire pour que dans mon javascript je suis dise qu'il doit les fermer ?

function submenuOnOff(id) {
     
	_SubMenu= document.getElementById("MF"+id);
	_MenuButton = document.getElementById("MB"+id);
	
	submenu=getCookie("cookie");
	setCookie("cookie",id);
	if(_SubMenu.className=="NavMenuLinksCollapsed")
	{
			if(submenu){
			//défilement
			//alert("submenu= "+submenu);

			 if(document.getElementById("MF"+submenu)!=null) document.getElementById("MF"+submenu).className="NavMenuLinksCollapsed";
			 if(document.getElementById("MB"+submenu)!=null) document.getElementById("MB"+submenu).style.backgroundImage = "url(graphics/buttons/NavMenuButtonUp.png)";
			}

	//division
	//alert("division")
		_SubMenu.className = "NavMenuLinksExpanded";
		_MenuButton.style.backgroundImage = "url(graphics/buttons/NavMenuButtonOver.png)";
		
	}
	else
	{
	//deffilement
	//alert("deffilement");
		_SubMenu.className= "NavMenuLinksCollapsed";
		_MenuButton.style.backgroundImage = "url(graphics/buttons/NavMenuButtonUp.png)";
		setCookie("cookie",0);
	}

}

Modifié par phoenix2025 (16 Jul 2009 - 16:08)
Laurie-Anne a écrit :
Attention à la confusion JavaScript n'est pas Java, ce sont deux language très différents !


Je veux bien te donner une réponse utilisant du Java, mais tu va avoir du mal à l'appliquer à ton code.

session_start();

if(!isset($_SESSION['js'])) $_SESSION['js'] = true;
if(isset($_GET['js']))
{
	if($_GET['js'] == "no" ) $_SESSION['js'] = false;
	else if($_GET['js'] == "yes") $_SESSION['js'] = true;
}


if($_SESSION['js'])
{
echo <noscript>
<div id="MB0"></div><div id="MF0"></div>''
<div class="NavMenu">
  <div class="NavMenuTop">&nbsp;
	</div>
	<div class="NavMenuItem">
	  <div class="NavMenuLinkButton" id="MB2">
		<span>
		  <a onclick="submenuOnOff('2'); return false" href="javascript:void(null)">About</a>
		</span>
	  </div>
		<ul>
		  <li>
			<a class="NavMenuLinkActive" href="index-2.html">About us</a>
		  </li>
		  <li>
			<a class="NavMenuLinkActive" href="10years.html">10 years</a>
		  </li>
		  <li>
			<a class="NavMenuLinkActive" href="http://www.dmcs.pl/maps.do">Maps</a>
		  </li>
		  <li>
			<a class="NavMenuLinkActive" href="nauka/linki.html">Research projects</a>
		  </li>
		  <li><a class="NavMenuLinkActive" href="newcenter.html">New site</a>
		  </li>
		 </ul>
	</div>
	<div class="NavMenuItem">
	  <div class="NavMenuLinkButton" id="MB4">
		<span>
		  <a onclick="submenuOnOff('4'); return false" href="javascript:void(null)">Staff</a>
		</span>
	  </div>
		  <ul>
		  <li>
			<a class="NavMenuLinkActive" href="pracownicy/displaywladze.html">Department s authorities</a>
		  </li>
		  <li>
			<a class="NavMenuLinkActive" href="pracownicy/displaypracownicy.html">Academic teachers</a>
		  </li>
		  <li>
			<a class="NavMenuLinkActive" href="pracownicy/displaydoktoranci.html">Ph.D. students and trainees</a>
		  </li>
		  <li>
			<a class="NavMenuLinkActive" href="pracownicy/displayadministracja.html">Administration</a>
		  </li>
		  </ul>
	</div>
	<div class="NavMenuItem">
	  <div class="NavMenuLinkButton" id="MB16">
		<span>
		  <a onclick="submenuOnOff('16'); return false" href="http://thermo.dmcs.p.lodz.pl/" target="_blank">Thermography</a>
		</span>
	  </div>
	</div>
	<div class="NavMenuItem">
	  <div class="NavMenuLinkButton" id="MB18">
		<span>
		  <a onclick="submenuOnOff('18'); return false" href="wspolpraca.html">Cooperation</a>
		</span>
	  </div>
	</div>
	<div class="NavMenuBottom">&nbsp;
	</div>
  </div>
</noscript>;
}

else
{
echo
<div id="MB0"></div><div id="MF0"></div>
<div class="NavMenu">
  <div class="NavMenuTop">&nbsp;
	</div>
	<div class="NavMenuItem">
	  <div class="NavMenuLinkButton" id="MB2">
		<span>
		  <a onclick="submenuOnOff('2'); return false" href="javascript:void(null)">About</a>
		</span>
	  </div>
	  <div class="NavMenuLinksCollapsed" id="MF2">
		<ul>
		  <li>
			<a class="NavMenuLinkActive" href="index-2.html">About us</a>
		  </li>
		  <li>
			<a class="NavMenuLinkActive" href="10years.html">10 years</a>
		  </li>
		  <li>
			<a class="NavMenuLinkActive" href="http://www.dmcs.pl/maps.do">Maps</a>
		  </li>
		  <li>
			<a class="NavMenuLinkActive" href="nauka/linki.html">Research projects</a>
		  </li>
		  <li><a class="NavMenuLinkActive" href="newcenter.html">New site</a>
		  </li>
		 </ul>
	  </div>
	</div>
	<div class="NavMenuItem">
	  <div class="NavMenuLinkButton" id="MB4">
		<span>
		  <a onclick="submenuOnOff('4'); return false" href="javascript:void(null)">Staff</a>
		</span>
	  </div>
		<div class="NavMenuLinksCollapsed" id="MF4">
		  <ul>
		  <li>
			<a class="NavMenuLinkActive" href="pracownicy/displaywladze.html">Department s authorities</a>
		  </li>
		  <li>
			<a class="NavMenuLinkActive" href="pracownicy/displaypracownicy.html">Academic teachers</a>
		  </li>
		  <li>
			<a class="NavMenuLinkActive" href="pracownicy/displaydoktoranci.html">Ph.D. students and trainees</a>
		  </li>
		  <li>
			<a class="NavMenuLinkActive" href="pracownicy/displayadministracja.html">Administration</a>
		  </li>
		  </ul>
		</div>
	</div>
	<div class="NavMenuItem">
	  <div class="NavMenuLinkButton" id="MB16">
		<span>
		  <a onclick="submenuOnOff('16'); return false" href="http://thermo.dmcs.p.lodz.pl/" target="_blank">Thermography</a>
		</span>
	  </div>
	</div>
	<div class="NavMenuItem">
	  <div class="NavMenuLinkButton" id="MB18">
		<span>
		  <a onclick="submenuOnOff('18'); return false" href="wspolpraca.html">Cooperation</a>
		</span>
	  </div>
	</div>
	<div class="NavMenuItem">
	  <div class="NavMenuLinkButton" id="MB20">
		<span>
		  <a onclick="submenuOnOff('20'); return false" href="javascript:void(null)">Users1</a>
		</span>
	  </div>
	</div>
	<div class="NavMenuBottom">&nbsp;
	</div>
  </div>
}


j'ai fait ca, mais je rencontre certains problemes.
- les deux menu sont à la suites.
- J'ai else '' ; }{ echo qui apparait tout le temps.

Smiley bawling merci de votre aide
Modifié par phoenix2025 (16 Jul 2009 - 18:33)