Newsgroup: it.comp.lang.javascript
Titolo: Link invisibili

Mettiamo che clicco su un link che mi manda in una pagina A.html. Voglio
perň che la pagina A.html sia vuota, cioč non faccia altro che richiamare la
pagina B.html al suo posto, č possibile? Come si puň fare?
Tutto questo perchč non voglio far vedere sulla barra di stato (tipicamente
in basso sul browser) che passando sopra il link non si veda B.html bensě
A.html. In pratica non voglio far sapere che richiamo B.html... forse, mi
viene in mente solo ora, potrei usare un JS che, sebbene premendo un link si
vada in B.html, esso mostri (sulla barra di stato) A.html. E' possibile
farlo?
Mhaxx

 pagina B.html al suo posto, è possibile? Come si può fare?
Scrivi nella pagina A ....
<HTML><HEAD>
<SCRIPT>
<!--
self.location="paginaB.html";
//-->
</SCRIPT>
</HEAD><BODY></BODY></HTML>
.... e nella pagina B quello che vuoi !!!


Io penso che usando uno script lato server, faresti prima.... nel senso che
se lo fai in javascript o in html... il codice lo vedono cmq... e quindi non
è che risolvi poi molto alla fin fine... se proprio vuole essere........
invisibile...  (ovvero non visibile)....
Cooper.
-- 
------------------------------------
BlueWare di Impastato Marcello
 [web] 
http://www.blueware.it
   - Realizzazione Siti Web;
   - Traduzioni in: Inglese/Rumeno/Spagnolo;
   - Servizi per l'informatica.
 [Email] 
coo...@blueware.it
 [icq] 146781935
 [Irc] 
http://chat.at.pa.it


Non c'e' nessun problema ci sono decine di modi, pero' per rispondere bene e
dirti il migliore, dovresti dire il pro di tutto questo; infatti come e'
gia' stato fatto notare in JS non nascondi molto...e ci sarebbero anche
altre cose da dire, prima pero'....

C> Io penso che usando uno script lato server, faresti prima.... nel senso
C> che se lo fai in javascript o in html... il codice lo vedono cmq... e
C> quindi non è che risolvi poi molto alla fin fine... se proprio vuole
C> essere........ invisibile...  (ovvero non visibile)....
E come si fa? Tieni presente che ho il supporto PHP.
Mhaxx

G> bene e dirti il migliore, dovresti dire il pro di tutto questo; infatti
Ho da poco fatto un sito che sta su un certo spazio web. Una pagina di
questo sito però non è in quello spazio, bensì in un altro spazio. Io non
voglio che quando uno preme quel link vede che sta andando a prendere una
pagina altrove, cioè su uno spazio diverso, voglio che ciò non si veda. Il
fatto è che questo secondo spazio, su cui risiede solo una pagina come
detto, ha il mio nome e cognome e, per ragioni personali, io non voglio
proprio che chi passa sopra al link veda sulla barra di stato:
1) che si tratta di uno spazio diversa da quello su cui risiede tutto il mio
sito
2) il mio nome e cognome
Qualunque soluzione è ben accetta. So che facendo come ha suggerito P.o.l.
risolvo a metà il problema, perchè è vero che non si vede sulla barra si
stato il link, però se uno guarda il codice HTML lo scopre. Non è possibile
mascherarlo del tutto?
Mhaxx
Mhaxx

 mascherarlo del tutto?
Allora registra un altro spazio web con un altro nome
e spostaci il documento ...

Pl> Allora registra un altro spazio web con un altro nome
Pl> e spostaci il documento ...
Non posso, sono vincolato a quello spazio web perchè è l'unico che mi
fornisce un certo servizio, etc etc..
Qualche soluzione? (fermo restando che i due spazi che ho sono quelli e non
li posso cambiare)
Mhaxx

=2 frame):
<html>
<head>
<title>Boo</title>
</head>
<frameset frameborder="0" border="0" framespacing="0" rows="0,*">
  <frame scrolling="no" noresize>
  <frame name="principale" frameborder="0" border="0" framespacing="0"
src="paginaB.html">
</frameset>
</html>

 obiettivo! ;-)
cumnque il metodo e' giusto, solo hai scordato che c' e' il link "top" in
fondo alla pagina che mostra in chiaro tutto ^_-
-- 
char c;main(int argc,char *argv[]){for(c=0;c["]!=^'\0';c++)c=--c/c["];
write(c-~-c,c+++"-B\040e\n",-~c-c))write(-~c-c,c+"-\nyZD_?!_",c-~-c);}

Z> 
http://wwwstud.dsi.unive.it/~[praivasi]/sentowatt/repertorio_mysql.php
:-((((((((
Z> cumnque il metodo e' giusto, solo hai scordato che c' e' il link "top" in
Z> fondo alla pagina che mostra in chiaro tutto ^_-
Come faccio a tenere quel top ma a fare in modo che non si veda l'URL?
Mhaxx

 Come faccio a tenere quel top ma a fare in modo che non si veda l'URL?
ah, e comunque mi son sbagliato :/
si puo' fare benissimo, basta mostrare il frame in un' altra finestra.


Z> ah, e comunque mi son sbagliato :/
Z> si puo' fare benissimo, basta mostrare il frame in un' altra finestra.
In che senso scusa?
Il non voglio modificare la struttura del mio sito...
Mhaxx

 Z> ah, e comunque mi son sbagliato :/

non so che browser usi, ma con mozilla, in un sito coi frame, basta fare
pulsante destro, che ti esce un menu', con, tra l' altro, la possibilita'
di visualizzare separatamente ogni singolo frame


 di visualizzare separatamente ogni singolo frame
Eh, gia'!
La cosa si puo' risolvere in due modi, magari usandoli entrambi:
disattivare il tasto destro e mettere uno scriptino nella pagina php prima
di fare l'header tipo:
if(top.location.href==location.href)
    top.location.replace("
http://www.
...");

Fermi tutti.. non come mai ma ora si vede la famosa B.html sulla barra di
stato quando viene caricata!
Altro che risolto il problema, siamo daccapo!
Lasciamo perdere il top, l'ho tolto e morta là.. ora però c'è da risolvere
il mascheramento di B.html: sulla barra di stato si vede benissimo dove va a
prendersela! :-(
Forse usando un JS dentro a questo? <?php header("Location: B.html"); ?>
C'è un JS che non fa vedere sulla barra di stato che viene caricata B.html?
(se risolvo l'invisibilità sulla barra di stato sono a posto, perchè il
codice HTML è ok, visto che una roba tipo <?php header("Location: B.html");
?> scompare automaticamente quando viene eseguita...
Qualche idea?
Mhaxx

 Qualche idea?
Sì, fare uno scriptino che si interrompe all'onload e ricorsivamente chiama
window.status="";

C> P.S. Perché usi quel quoting fuori standard? I newsreader di [cut]
Un giorno o l'altro mi deciderņ ad abbandonare sto IE...
Mhaxx

G> Eh, fosse l'unico problema...Attento, perche' se apri il link in una
G> nuova finestra si vede per bene tutto il link completo (come ti abbiamo
G> gia' detto):
G> [cut]
Potevi evitare di mostrarlo in chiaro! (i NG sono un incredibile archivio..)
G> Sě, fare uno scriptino che si interrompe all'onload e ricorsivamente
G> chiama window.status="";
Ci rinuncio, lasciate perdere.. credevo fosse piů semplice, ma mi rendo
conto che non lo č.
Grazie lo stesso a tutti.
Mhaxx

 conto che non lo è.
Ho solo spulciato il thread, non l'ho letto tutto, ma se cio' che vuoi 
fare e' caricare una pagina (B.html) e impedire che l'utente possa 
recuperare l'indirizzo completo della pagina 
(
http://www.dominio.it/bla/bla/b.html
) scordatelo. Non puoi farlo, ne' 
server side ne' client side.
Puoi oscurare la status bar, ma tramite il codice vedo dove stai 
puntando.
Se anche fai il redirect via PHP, e indirizzo il tutto in un frame, 
l'utente puo' benissimo (e giustamente) vedere l'indirizzo di quella 
pagina.
L'unica cosa che puoi fare via PHP e' far chiamare al server tale 
pagina, e poi spararne il contenuto in una tua pagina che risiede sul 
server php.
Ovviamente se ci sono indirizzi relativi, non funziona (immagini o 
quant'altro). O se ci sono riferimenti a indirizzi assoluti, l'utente 
recupera ovviamente l'indirizzo completo.
Il punto sarebbe capire come mai dovresti fare tutto questo puttanaio, 
in quanto non vedo alcun "gioco" che possa valerne la "candela".
C'e' sicuramente una strada piu' semplice.
-- 
C'ya,
ZER0
  :. job profile - coder.gfxer.webDesigner
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

 conto che non lo č.
Allora premesso che se uno vuole te lo scopre, comunque con qualche
accorgimento si riesce ad limitare le possibilita'...
Allora inserisci questo:
<A class="menu" href="./repertorio.php" target="area_lavoro"
onClick="top.timer=setInterval('top.status=\' \'',50)">REPERTORIO</A> |
poi nel framset:
...
 <LINK rel="stylesheet" type="text/css" href="./stile.css">
<script type="text/javascript">
timer=null;
</script>
</HEAD>
...
<FRAME src="./home.html" name="area_lavoro" scrolling="yes"
           frameborder=0 onLoad="clearTimeout(timer)">
E, cosě abbiamo risolto il problema della statusbar che visualizza la pagina
"incriminata" durante il caricamento...
Poi e in 'menu.html', metti nell'head uno script che non faccia andare il
tasto destro cosě evitiamo che apra la pagina in una nuova finestra.
Lo script l'ho copia-incollato dal thread 'tasto DX' e non dovrebbe essere
giusto al 100%, comunque qualcosa del tipo...
<script type="text/javascript">
document.oncontextmenu = nocontextmenu;
document.onmousedown = norightclick;
if (window.Event)
  document.captureEvents(Event.MOUSEUP);
function norightclick(e)
{ if (window.Event)
  { if (e.which == 2 || e.which == 3)
    { return false; }
  }
  else
  { if (event.button == 2 || event.button == 3)
    { event.cancelBubble = true
      event.returnValue = false;
      return false;
    }
  }
}
function nocontextmenu()
{ event.cancelBubble = true
  event.returnValue = false;
  return false;
}
nocontextmenu();
</script>
A questo punto o si e' particolarmente maliziosi e abbastanza capaci o non
ci si accorge di niente....

G> Allora premesso che se uno vuole te lo scopre, comunque con qualche
G> accorgimento si riesce ad limitare le possibilita'... [cut]
Grazie, ma c'ho rinunciato davvero.
In compenso, per farti perdonare ( ;-PP ) ti chiedo di risolvere questa
curiositŕ: se ti colleghi a 
www.sentowatt.rocks.it
 e clicchi sul link di
"ULTIM'ORA" vai alla pagina NEWS. Ora nella pagina NEWS vai in fondo e premi
il link Top: notato nulla? Entrambi puntano al top di quella pagina, che non
č esattamente la cima, ma un peletto piů sotto.. ma mentre il top funziona
ok, il link sulla pagina iniziale non va! O meglio, č questa forse la cosa
incredibile, se provo quel link in locale (qui sul mio PC) funziona
correttamente, se provo dal sito fa come ti ho appena detto! Ti dirň di piů:
se provo sul sito online ma sulla cache del mio browser funziona ok!
Insomma, perchč online connesso fa quella storia? (non che mi cambi la vita,
ok.. ma perchč?!? non č curioso?)
Mhaxx

 ok.. ma perchč?!? non č curioso?)
Prova sia on line che non quest'alternativa, piu' o meno ripeto quello che
ti ha detto il buon Catarsi, lui infatti diceva:
<A class="linkTop" href="#top" onmouseover="window.status=' ';
return true;">
Fra l'altro, se eviti il path href="./repertorio.php#top" eviti pure un
inutile reload di pagina
io invece ti suggerisco di mettere solamente #:
<A class="linkTop" href="#" targt="....">....
Vedrai che funziona ovunque...

 (la prima riga che vedi in questo post: "Mhaxx ha scritto:")  ;)
E' una delle tante feature di Fidolook (plugin di OE), ma questa sarebbe
proprio da NON usare. ;-(
-- 
     * b *
   *   y   *
 *   Piero   *

 diversa. Ce ne fosse una che non fa schifo :-)
Manno'.. se gia' il plug in ha il prefisso "Fido", e' tutto molto 
chiaro.. Il quoting che usa, e' quello adottato ai tempi su reti 
Fidonet-like, e sinceramente un po' mi manca. :)
Come un sacco di altre cose delle aree di quella rete, del resto.. 
sigh.
Scusate, un attimo di nostalgia. Ovviamente concordo sul fatto che, 
dato che qua lo standard e' un altro, e' giusto adeguarsi.


 netiquette comanda, a occhio e croce non dev'essere un'impresa.
Non lo conosco, perché non lo uso, ma non credo sia un problema cambiare
le impostazioni. ^__^


 diversa. Ce ne fosse una che non fa schifo :-)
ROTFL