Newsgroup: it.comp.www.html
Titolo: verifica che il top frame sia quello giusto

2 domande...
come posso verificare che il top frame sia quello giusto?
o meglio se qualcuno mi apre una pagina singola fuori dal frame, posso
ricaricarla nel suo frameset originale?
in rete ho trovato solo questo, utile ma non risolve il mio problema
<SCRIPT Language="JavaScript" >
      if (window.parent.location!=window.location)
window.parent.location=window.location;
</SCRIPT>
Seconda domanda, visto l'antipatia generale verso i frame, come posso
tenere una della pagina parte fissa mentre il resto scorre? (magari
qualcosa che sia interpretato in modo univoco sia da Mozilla che da IE
)
Grazie

alla domanda 1 trovato la soluzione
<script language="javascript">
if(self.location==parent.location){
location.href="
http://www.miodominio.it/mioframeset.htm
";
}
</script>
rimane aperta la domanda 2
Come evitare i frame e avere una zona fissa?
grazie a tutti

 Grazie
con mozilla puoi utilizzare i css, posizionando gli elementi con 
position:fixed.
per IE esitono degli hack, tipo questo:
http://devnull.tagsoup.com/fixed/
ma con google ne trovi altri. Ciao


Dunque... tu vorresti tenere una parte della pagina fissa mentre il resto
scorre?
Per quel che ne so si puo' fare solo con i Frames... es. 2 frames uno
superiore e uno inferiore (ma anche Dx, SX): quello superiore piu' stretto
e contenente una pagina html fissa, quello inferiore variabile....
Non credere che i Frames siano assolutamente da evitare, questa e' una
falsa credenza da sfatare, basta non farne un' uso smodato (personalmente
io non uso mai piu' di 3 sezioni) e nel giiusto contesto: esempio per un
catalogo vanno benissimo. L' unico vero problema per cui e' bene non farne
un' uso troppo frequente e' per via dei problemi di indicizzazione dei
motori di ricerca: puo' succedere che sia indicizzata la pagina html
relativa ad una sezione che quindi appare "decontestualizzata", fuori
dalla struttura frameset e quindi poco usabile se nopn assolutamente
inutile ma anche questo problema puo' essere risolto in vari modi:
1) tramite del codice javascript che a partire da qualunque sezione
caricata separatamente ricrei l' intero frameset
2) A seconda di come e' strutturato il frameset si potrebbe ad esempio
fare in modo di non indicizzare alcune sezioni ma solo altre; esempio ho 3
sezioni (mettiamo della struttura di un catalogo), 2 superiori piccole di
cui 1 fissa e una variabile e una inferiore grande variabile/scorrevole e
non voglio che le 2 sezioni superiori siano indicizzate: a) evito di
inserire keywords nelle intestazioni che facilitino l' indicizzazione b)
creo un file ROBOTS.TXT nella radice del sito in cui indico esplicitamente
che le pagine.html che compaiono in quelle due sezioni NON devono essere
indicizzate (in genere i motori di ricerca OBBEDISCONO), mntre nelle
pagine.html che compaiono nella sezione inferiore posso inserire un link
che mi possa fare il refresh su tutto il frameset completo (ovviamente il
link deve avere l' attributo TARGET="_TOP", in modo da farmi comparire lě'
intero frameset nella finestra corrente). Metodo non automatico come con
il javascript ma comunque efficace (sta alla volonta' del navigatore
risalire al frameset originario). 
Pero' con IFRAME e' possibile creare una parte della pagina
variabile/scorrevole e il resto fisso: generalmente si tratta di una zona
centrale o piu' o meno decentrata con un "contorno" fisso ma con opportuni
accorgimenti forse e' possibile fare in modo che la parte variabile sia
posta in una posizione estrema (dx, sx top, bottom).
Tra l'altro e' possibile fare una cosa visibile (anche se non con gli
stessi risultati stilistici) con Mozilla, IE, Opera e Netscape4.X (NN fa
uso dei tag "Layer, Ilayer" che pero' non prevedono barre di scorrimento);
diciamo che con Mozilla IE e Opera si hanno risultati stilistici
abbastanza identici.
-- 
Alessandro
-------------------------------------------
Ubi Maior minor cessat
-------------------------------------------