Newsgroup: it.comp.lang.javascript
Titolo: FAQ 219

Se utilizzo lo script di questa faq per andare va ma nel frame che dovrebbe
visualizzare la pagina che ho richiamato mi rimane sempre una pagina bianca
Utilizzo Exploder 5 per Mac
Grazie
##########################
 Gibe
 Modena Italy
 Utente Macintosh dal 1991
 Il mio vero indirizzo e'
 
gi...@freemail.it
##########################

 Utilizzo Exploder 5 per Mac
Sei sicuro sia la FAQ 219?
-- 
mailto: y = i
----------------------------------------
Vivo nel terrore di non essere frainteso 
(Oscar Wilde)

, ma condivido il non
darlo per scontato.


 darlo per scontato.
non è sicuramente il mio :)



ma vedro di essere piu preciso


 
sto caspio di script non funziona su nessun explorer per mac...
l'ho provato e riprovato...
come ho risolto? faccio un check per vedere se la pagina viene caricata
da un exploer su Mac e se e' cosi' lo rimando ad una pagina .asp con il 
document.location.href="frame.asp?pag="+document.location.href 
che fa il resto...
(non mi ricordo bene se la sintassi e' giusta, ma il senso e' questo)
bye
-- 
emy

In 
3B8B3A76...@iol.it
, 
e.p...@iol.it
, 
e.p...@iol.it
, il 28-08-2001
8:37 ha scritto:

alla faccia, e per uno che questo criptico asp non lo sa usare?


 alla faccia, e per uno che questo criptico asp non lo sa usare?
allora:
1) il server su cui e' presente la pagina supporta .asp? e' un dominio
registrato o uno di quelli gratuiti?
se sì allora...
2) la pagina asp sara' cosi'
	<html><head></head><frameset rows="30%,*">
	<frame name="superiore" src="menu.htm">
	<frame name="inferiore" src="<%=Request.QueryString("pag")%>">
	<noframes><body></body></noframes></frameset></html>
   e si chiamera' frame.asp
3) ogni pagina dovra' avere lo script 
	if (window.top.frames[0] == null) {
	if ((navigator.userAgent.indexOf('Mac') != -1)&&(document.all)){
		var attuale=document.location.href;	
		document.location.href="frame.asp?pag="+attuale;
	} else {
		document.write('<html><head></head><frameset rows="30%,*">')
		document.write('<frame name="superiore" src="menu.htm">')
		document.write('<frame name="inferiore" src="pagina.htm">')
		document.write('<noframes><body></body></noframes></frameset></html>')
	}
	}
bye
-- 
emy

 bye
Ci provo, comunque grazie


 document.write('<html><head></head><frameset rows="30%,*">')
Mi perdoni l'autore della faq, ma non credo possa funzionare: il codice
sembra sovrascrivere la pagina di destinazione la quale - proprio in
virtu' di tale modifica - non puo' che mostrarsi vuota.
In compenso hai la n. 100 che invece e' perfetta:
if(self.location==parent.location){
location.href="frame.htm";}
anche se, come avviene in questi casi, se l'utente vuole aggirare
l'ostacolo... lo aggira ;-)


 
Si pero in questo modo si visualizza sempre il frameset impostato nella
pagina frame.html, l'altro script aveva di bello che rimaneva la pagina
cercata dall'utente. Pazienza, vorra dire che mi adattero ad un Xtension di
dreamweaver, non mi piace come e' fatta ma non si puo avere tutto


 dreamweaver, non mi piace come e' fatta ma non si puo avere tutto
Non gettare la spugna, forse ho trovato (ma non ho *p*rovato):
if(self.location==parent.location) {
history.back();
}
Provalo tu: inserisci il codice in tutte le "tue.htm" che vuoi far
comparire nei frame.
Fammi sapere, ciao


 
A me non va e non capisco neanche come faccia ad andare, se il problema e'
che non carica il frame non carichera' neanche lo script, ben inteso io ho
fatto cosi
<HTML>
<HEAD>
<TITLE>benvenuto</TITLE>
<script LANGUAGE="JavaScript" type="text/javascript">
if(self.location==top.location){
document.write('<html><head></head><FRAMESET COLS="146,*" FRAMEBORDER=NO
BORDER=NO>')
document.write('<FRAME SRC="indice.html" NAME="indice" NORESIZE SCROLLING=no
MARGINWIDTH=0 MARGINHEIGHT=0 FRAMEBORDER=0>')
document.write('<FRAME SRC="info.shtml" NAME="info" MARGINWIDTH=0
MARGINHEIGHT=0 FRAMEBORDER=0>')
document.write('<noframes><body></body></noframes></frameset></html>')
}
</script>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<script LANGUAGE="JavaScript">
if(self.location==parent.location) {
history.back();
}
</script>
<CENTER>
  <p>&nbsp;</p>
ecc. ecc.


 fatto cosi
[cut]
No, io intendevo questo:
<html><head>
<script language="javascript">
if(self.location==parent.location) {
history.back();
</script>
</head>
<body>
IL TUO BODY, SENZA NESSUN CODICE
</body>
</html>
Solo questo (in tutte le pagine) *senza* il document.write. Inoltre, se
dovesse funzionare, la prima cosa che deve essere caricata e' proprio
l'history.back(). A mio avviso e' una prova che ti merita fare.


 fatto cosi
[cut]
No, io intendevo questo:
<html><head>
<script language="javascript">
if(self.location==parent.location) {
history.back();
}
</script>
</head>
<body>
IL TUO BODY, SENZA NESSUN CODICE
</body>
</html>
Solo questo (in tutte le pagine) *senza* il document.write. Inoltre, se
dovesse funzionare, la prima cosa che deve essere caricata e' proprio
l'history.back(). A mio avviso e' una prova che ti merita fare.
-- 


 
si' si', puoi tenerle tutte e due... mi raccomando solo che il server
non carichi di default la pagina frameset.asp altrimenti non ti
visualizza la pagina perche' gli manca la variabile pag.
comunque puoi anche rinominare la pagina frameset.asp come vuoi basta
che finisca con .asp
bye
-- 
emy

 <body>
Secondo me non va neanche cosi, anzi ho provato e tolgo il secondo me
Partiamo dal problema iniziale, se qualcuno fa un link ad una pagina che
normalmente viene visualizzata all'interno di un frameset mi deve caricare
il frameset con la pagina a cui ho puntato e non quella di default del
frameset
questo script fa solo tornare indietro l'history di 1, non c'é ombra di
frameset, come puo funzionare
Attendo lumi(il fumetto quello col dentone, chi si ricorda?)


 Secondo me non va neanche cosi, anzi ho provato e tolgo il secondo me
A me funziona, se vuoi provare: 
http://web.tiscali.it/marcocatarsi/frame/frame.htm
Intendiamoci, lo scriptino ha senso solo rimanendo nel frameset;
partendo da un URL diretto non può averne, andrebbe ampliato o
quantomeno ritoccato. D'altronde è l'idea stessa che offre poche
garanzie: il js non è certo un freno, e quando lo diventa basta
disabilitarlo.
