Newsgroup: it.comp.lang.javascript
Titolo: Controllo apertura file: <FRAME> Vs. <IFRAME>

Ciao Ragazzi!
Devo verificare se una pagina NON viene aperta in un IFRAME.
Se non viene caricata nell'IFRAME, occorre rimandare l'utente alla pagina
principle.
Io ho questo script che funziona con i FRAME...
ma con l'IFRAME no.
<script>
 if(
self.name
==NOMEFRAME.name){
 location.href="index.php"
 }
</script>
Esiste qualche cosa del genere che funzioni anche con l'IFRAME?
Ciao e... GRAZIE!
Riccardo.

 principle.
Prova con:
if (window == parent)
{
   // la finestra è top-level
}
else
{
   // la finestra è contenuta all'interno di un frame
}
Se ti interessa poi controllare in quale IFRAME è caricata basta fare:
<iframe id="mioFrame" src="...">
</iframe>
IE:
if (parent.mioFrame != window) ...
Mozilla:
var mioFrame = parent.document.getElementById("mioFrame");
if (!mioFrame || mioFrame.contentWindow != window) ...
Gaetano

 ha scritto nel messaggio
news:2pgfm0F...@uni-berlin.de...


 Grazie ancora !!!!
Di nulla:-)
Se ti interessa qui puoi trovare altre informazioni:
Mozilla Gecko DOM Reference - DOM Frame Reference
http://www.mozilla.org/docs/dom/domref/dom_frame_ref.html
Introduction To Frames
http://www.quirksmode.org/index.html?/js/frameintro.html
Inoltre ho visto che la proprietà "contentWindow" è supportata anche da 
IE 5.5+. Il metodo "vecchio" per accedere ai frame deve comunque essere 
utilizzato per IE 5.
Gaetano

 if (!mioFrame || mioFrame.contentWindow != window) ...
Se dai un "name" all'IFRAME puoi usare lo stesso codice per entrambi i
browser.
-- 
ZER0://coder.gfxer.web-designer/
~ "Compiere l'impossibile e' impresa che risiede nel cuore degli uomini"
(Mariners and generals)

 utilizzato per IE 5.
Della gestione di IFRAME e contentWindow se ne' parlo neanche troppo tempo
fa su questo NG, io ed il Balestra:
http://groups.google.it/groups?hl=it&lr=&ie=UTF-8&threadm=8u5nd88fl0oj%24.dlg%40ID-171124.news.individual.net&rnum=3&prev=/groups%3Fq%3Dcontentwindow%2Bgroup:it.comp.lang.javascript%26hl%3Dit%26lr%3D%26ie%3DUTF-8%26selm%3D8u5nd88fl0oj%2524.dlg%2540ID-171124.news.individual.net%26rnum%3D3
..ma dato che quest'ultimo non ama far salvare a google i suoi post, sembra
un dialogo tra me e me. :)
-- 
ZER0://coder.gfxer.web-designer/
~ "L'arte non riproduce cio' che e' visibile,ma rende visibile cio' che
non sempre lo e'" (Paul Klee)

 ha scritto nel messaggio
news:2pgfm0F...@uni-berlin.de...


 apposutamente formattata, la pagina 1.html
Nelle tue pagine metti onload del body un qualcosa del tipo
if(top.document.location.href==document.location.href)
top.document.location.href="start.php?"+document.location.href;
Poi dovrai leggere la querystring e scriverla nell'src del frame contenuto
in start.php. Se quest'ultimo passaggio puoi farlo lato server č secondo me
molto meglio, altrimenti dovrai lavorarci (per leggere querystring lato
client: document.location.search.substr(1) )
-- 
"E' l' ignoranza che crea l'intolleranza
 di gente cieca e senza coscienza"
									  S.S.S.
--

 if (!mioFrame || mioFrame.contentWindow != window) ...
e se non conoscessi l'id del iframe? come potrei fare? Grazie.
Saluti. Carlo.
-- 
Puoi chiamarmi con Skype o con Yahoo Messenger id: carlonike
Vuoi un sicuro e gratuito programma per la tua posta?
http://www.pegasusmail.tk
 o 
http://www.pmail.com