Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Menù Navigazione in Iframe

    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

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non è proprio chiarissimo cosa vuoi/devi fare, in questi casi io consiglio link alla pagina/sito pubblico cosi forse vedendo la struttura e provando si capisce meglio.
    Sicuramente se nelle pagine tipo diconodinoi.html vuoi usare jquery
    <script>
    $(document).ready(function(){
    highLight();
    });
    </script>
    devi includere la libreria oppure se non ti serve prova cosi:
    <script>
    window.onload=function(){
    highLight();
    }
    </script>
    Io non so se il sito sia aziendale o meno comunque il codice e orrendo la logica d'usare iframe per la navigazione è sbagliata
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Ciao Andrea,

    grazie per la risposta

    Io non so se il sito sia aziendale o meno comunque il codice e orrendo la logica d'usare iframe per la navigazione è sbagliata
    Il sito è di tipo aziendale e quanto sto provando a fare è in LAN...

    sniff...

    Io non posso usare inclusioni lato server, tu cosa mi suggeriresti di fare?

    Sto guardando questo libro
    http://books.google.it/books?id=G5NR...0VOLTA&f=false

    dove lo metteresti tu il menù di navigazione?

    ti mando un mess privato dove puoi vedere il sito funzionante, ma è quello che devo cambiare,
    dove c'è index e un iframe che si carica le pagine diverse e che voglio eliminare.

    Grazie Andrea

    Samantha

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    perché non pui usare inclusioni?

    se proprio non puoi tanto vale usare un "semplice" menu in js
    cosa che aborro... ma vista la situazione

  5. #5
    Buongiorno Sig. Vincent Zeno.

    purtroppo le inclusioni lato server non le posso usare. Sto cercando di sistemare una situazione che aimè mi sono trovata.

    Dunque suggerisci di usare un file js per mettere il menù.

    Io sto provando questo menù http://www.dynamicdrive.com/dynamici...enu-glossy.htm

    ma mi trovo con due tipi di problemi:

    1) Questo menù è composto da link di primo e di secondo livello. Purtroppo, dove il esiste il gruppo di link di secondo livello la prima voce serve solo per espandere, io invece vorrei che si dirigesse alla pagina html che ho definito (v. voce CSS Examples che serve solo per espandere il menù di secondo livello)

    2) Questo menu che nel mio caso diventerebbe come ti scrivo sotto, lo posso mettere in un file esterno, e tramite un document.write farlo scrivere nelle pagine? Perchè l'alternativa sarebbe di avere questo pezzo di codice su tutte le pagine... e se devo modificare il menuù (aggiungere o togliere voci) devo modificare tutte le pagine... diventa una gestione pazzesca...

    codice:
    <div class="glossymenu">
    Home
    Azienda
    <div class="submenu">
    	<ul>
    	[*]Referenze
    	[*]Company Profile
    	[*]Dicono di noi
    	[*]Certificazioni
    	[*]Eventi
    	[*]Informativa Privacy
    	[/list]
    </div>
    Servizi
    <div class="submenu">
    	<ul>
    	[*]Referenze
    	[*]Company Profile
    	[*]Dicono di noi
    	[*]Certificazioni
    	[*]Eventi
    	[*]Informativa Privacy
    	[/list]
    </div>
    
    </div>
    Ho lasciato il sottomenù uguale per azienda e servizi, perchè per servizi devo ancora modificare le pagine

    Altro problema:
    io ho il mio bel menù che ogni volta viene scritto, ma lui come fa a sapere che deve tenere in bold tipo il menù attivo?

    ecco... :| :| :|

    :|

    Grazie e buona giornata
    Sam

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da esseAemme
    Ciao Andrea,

    grazie per la risposta



    Il sito è di tipo aziendale e quanto sto provando a fare è in LAN...
    Io ritengo i siti aziandali il biglietto da visita sul web che meritano un approccio professionale
    sniff...
    Io non posso usare inclusioni lato server, tu cosa mi suggeriresti di fare?
    forse un alternativa potrebbe essere un menu in jquery/ajax/ancore necessità di un minimo di coscenze web che forse una guida su google non può bastare
    dove lo metteresti tu il menù di navigazione?
    ...
    Giudizio soggettivo che esula da questo forum e dalla problematica in questione.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Ciao Andrea,

    grazie per il feedback e per il link.

    Sono d'accordo con quanto dici.

    Buona giornata
    Sam

  8. #8
    Ciao Vincent.Zeno,

    intendi un menù in js tipo questo: http://www.dynamicdrive.com/dynamici...men3/index.htm

    Appena ho un attimo ci provo.

    Grazie
    Sam

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.