Buongiorno a tutti.
Per una serie di motivi non posso usare le inclusioni lato server.
Allora, avevo un sito con index con dentro un iframe che cambiava il contenuto. Solo che usando Iframe google non mi indicizza il sito.
Allora, grazie al suggerimento di Passante, ho invertito e ho messo il menù di navigazione in iframe, e ogni volta lancio una pagina diversa.
Problema: ho fatto il codice javascript perchè in base all'url, mi faccia comparire corretto il menù, che ha un primo e un secondo livello e la voce selezionata deve essere bold.
Al momento, il mio problema è che lancia il codice javascript solo al primo caricamento...
Pagina index
codice:
<head>
<script type="text/javascript" src="mioscript.js"></script>
<script src="home/js/jquery.js" type="text/javascript"></script>
</head>
<body>
<script>
$(document).ready(function(){
highLight();
});
</script>
<div id="top">
<IFRAME align="left" width="1252" height="92" NOREsize scrolling="no" frameborder="no" border="0" src="TOP.html"></IFRAME>
</div>
<div id="nav">
<IFRAME align="left" width="180" height="558" Name="navi" id="navi" NOREsize scrolling="no" frameborder="no" border="0" src="NAV.html" ></IFRAME>
</div>
<div id="homecentro" class="homesfondo">
<div id="homecontent">
</div>
<div id="footer">
Copyright ©2006-2012 Ditta S.r.l. - Tutti i diritti riservati -
</div>
</body>
</html>
Codice che contiene l'animazione del menù, si chiama mioscript.js
codice:
function getPageName() {
var pagina = window.top.content.location.href.split('/')[3].split('.')[0];
if (pagina == '') pagina = "index";
return pagina;
}
function highLight(){
var iframe = document.getElementById('navi');
var frameDoc = iframe.contentDocument || iframe.contentWindow.document;
var mydiv = frameDoc.getElementById(getPageName());
alert(mydiv.className);
if (mydiv.className == "menu2"){
//--rendere visibile il div e i suoi fratelli
alert('secondolivello');
}
else alert('primolivello');
alert(getPageName());
//var Align=Mydiv.getAttribute("align");
//alert(Align);
}
e file che contiene il menù NAV
codice:
<HEAD>
<link rel="stylesheet" href="style/style.css" type="text/css" />
</head>
<body>
<table width="180" height="558" summary="tabella per formattazione" align="center" border="0" cellpadding="0" cellspacing="0" >
<tr>
<td style="background-image: url('img/sx.gif');background-position: center top; background-repeat: no-repeat" valign="top" width="180" height="556">
[img]img/top5.gif[/img]
<div class="menu1" id="index" align="right" >Home</div>
<div class="menu1" id="azienda">Azienda
<div class="menu2" id="diconodinoi">Dicono di noi</div>
</div>
<div class="menu1" id="servizi">Servizi</div>
</td>
</tr>
</table>
</body>
</html>
Il problema è che funziona solo al primo avvio, perchè non parte anche quando apro la pagina diconodinoi.html?
eccola qua
codice:
<head>
<script type="text/javascript" src="mioscript.js"></script>
</head>
<body>
<script>
$(document).ready(function(){
highLight();
});
</script>
<div id="top">
<IFRAME align="left" width="1252" height="92" NOREsize scrolling="no" frameborder="no" border="0" src="TOP.html"></IFRAME>
</div>
<div id="nav">
<IFRAME align="left" width="180" height="558" Name="navi" id="navi" NOREsize scrolling="no" frameborder="no" border="0" src="NAV.html" ></IFRAME>
</div>
<div id="centro" class="alphabody">
<div class="newscontenitore">
<div id="alphaimgboxdx"> [img]img/2/23.gif[/img] </div>
<h1 class="betah1">Dicono di noi</h1>
<h2 class="betah2">Non solo i clienti parlano di noi</h2>
</div>
<div id="footer">
Copyright ©2006-2012 ditta S.r.l. - Tutti i diritti riservati -
</div>
</body>
</html>
Avete qls suggerimento?
Grazie intanto e buona giornata a tutti.
Sam