Newsgroup: it.comp.lang.javascript
Titolo: Pagina con links che si aprono solo nell'iframe fatto con i CSS

Salve a tutti.
Allora, volendo "simulare" un iframe tramite i CSS (associando una 
classe al DIV), mi chiedevo se clickando vari link presenti nella 
medesima pagina fosse possibile caricare i relativi documenti html 
(documenti sempre del medesimo sito) SOLO dentro lo pseudo-iframe.
Mi dicono che non e' possibile e che dunque bisogna ricorrere all'iframe 
tradizionale, e' vero? Non si puo' rimediare con qualche stratagemma, 
magari ricorrendo a javascript?
ciao, marco
-- 
Levare la "M" per rispondere

 magari ricorrendo a javascript?
Credo proprio che abbiano ragione.
La simulazione dell'IFRAME con un DIV ha senso solo per una quetione di 
accessibilita' (v. 
http://www.constile.org
 c'e' un tutorial), non e' 
intesa come via alternativa ad ottenere lo stesso effetto.
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
Per rispondere: togli il PUNTO e metti un .

 intesa come via alternativa ad ottenere lo stesso effetto.
Come partenza ho preso proprio il summenzionato tutorial, mi interessava 
l'accessibilita' ma volevo sapere se era possibile fare click su link e 
aprire SOLO all'interno del pseudo iframe le corrispondenti pagine 
presenti nel medesimo sito (cioe' non caricare pagine provenienti da 
altri siti).
Sembra comunque che con qualche stratagemma sia possibile, come indicato 
dal gentile moderatore di it.comp.www.html:
-----
Se devi pescare qualcosa dall'esterno l'argomento è possibile. Se non è
troppo il file .html, potresti prenderlo con il File System Object, 
ficcarlo in una var js (ad esempio pagina) e poi fare:
var pagina = "<%=Qui ciò che sputa fuori FSO%>";
document.getElementById("div-iframe").innerHTML = pagina;
Ricordati solo di modificare il div così:
<div class="iframe" id="div-iframe">
Questo è il contenuto dell'IFRAME...
</div>
(potresti pure accedere con getElementByClassName ma 'ste cose è meglio
averle univoche, quindi userei id).
Il problema è che dovresti ripulire la pagina .html dai tags che già usi
nella pagina che contiene la simulazione dell'iframe (ad esempio da
<html>,<head> ecc.).
Un'altra soluzione che mi viene in mente (più semplice) è usare gli 
include.
Con le ASP e SSI (se ben ricordo) si fa:
<div class="iframe" id="div-iframe">
<!--#include file="pluto.html"-->
</div>
e con PHP:
<div class="iframe" id="div-iframe">
<?php
include("pluto.html");
?>
</div>
Ma avresti sempre il sitolito problema dei tags doppi (<html>, head 
ecc.).
Se non ti è assolutamente necessario andare a pescare il contenuto del 
finto iframe da pluto.html, allora potresti fare come ti avevo detto 
all'inizio.
Altrimenti ti serve una tecnologia server side (io ti ho fatto l'esempio 
con le ASP/SSI/PHP, ma potresti usare pure altro...).
-------------------------
ciao e grazie, marco


 altri siti).
Se non e' cambiato nell'ultimo anno il tag DIV non ha una proprieta' SRC 
(come invece aveva il LAYER di Netscape), quindi non puoi farci nulla.
Se ti serve un IFRAME usa un IFRAME, non credo ci sia altra soluzione.
Altrimenti puoi provare a chiedere direttamente a Gianluca Troiani nel 
forum che accompagna l'articolo.
Cio' che ti scrivono in icwh prevede comunque un'iterazione lato server, 
quindi non avra' piu' senso dare un target al link se cmq devi passare 
dal server.
A questo punto, visto che devi passare dal server, fai tutto da li e 
cambi il contenuto del div senza porti tanti problemi, con gli include 
appunto.
