Newsgroup: it.comp.lang.javascript
Titolo: salvare una pagina web dopo averne modificato la struttura

ciao a tutti,
io ho il seguente problema:
ho creato una pagina web nella quale č presente una tabella con tre righe
contenenti del testo.
Selezionando il testo di una riga, con uno script, attraverso drag&drop,
duplico questa riga all'interno della tabella. Quindi passo da tre a quattro
righe con un semplice drag&drop.
Il difficile perň č che io voglio salvare questa nuova pagina che mi
contiene una tabella con 4 righe. Usando l'execCommand e il comando SaveAs,
dell'oggetto document, ottengo sě il salvataggio della pagina ma di quella
originaria, cioč con una tabella contenente tre righe senza quella aggiunta
in precedenza.
Onestamente non so piů dove sbattere la testa. Spero vivamente che qualcuno
mi possa aiutare, anche con un "NON SI PUň FARE".
Grazie mille a tutti.
ciao
--------------------------------
Inviato via 
http://usenet.libero.it

 mi possa aiutare, anche con un "NON SI PUň FARE".
Considerando che il metodo execCommand č "IE only", parto anche io da questo
assunto.
Tre suggerimenti senza aver fatto prove:
- prova a generare un frame e a scriverci dentro il codice HTML del document
modificato e a lanciare il SaveAs di quello (anche se credo che ti si
riproponga il problema)
- se ti va bene che sia anche Win-only potresti anche istanziare un
FileSystemObject e lasciar perdere execCommand
- dai un'occhiata su msdn riguardo le hta (HTML applications)

 - dai un'occhiata su msdn riguardo le hta (HTML applications)
Preciso che al momento mi interessa solo la compatibilità con IE
Mi sembra molto interessante la tua proposta di usare il FSO. Potresti
andare un pò più nel dettaglio? Cosa dovrei passare al file che apro con il
FSO?
Per ciò che riguarda il primo consiglio penso proprio che non funzioni in
quanto avevo già porvato ad aprire una pagina web alla quale mancava solo il
contentuo di body ed a passarle l'innerHTML di body della pagina modificata.
Così ottenevo la visualizzazione della nuova pagina ma quando la salvavo,
con saveas, e riaprivo non compariva nulla.
Per l'hta avevo già iniziato a dare un'occhiata ma mi sembrava troppo
complicata. La terrò comunque come ultima spiaggia.
Grazie ancora per il tuo aiuto. ti sarei comunque molto grato se mi
specificassi qualcosa di più su come potrei fare ad usare il FSO.
grazie


 - dai un'occhiata su msdn riguardo le hta (HTML applications)
Preciso che al momento mi interessa solo la compatibilità con IE
Mi sembra molto interessante la tua proposta di usare il FSO. Potresti
andare un pò più nel dettaglio? Cosa dovrei passare al file che apro con il
FSO?
Per ciò che riguarda il primo consiglio penso proprio che non funzioni in
quanto avevo già porvato ad aprire una pagina web alla quale mancava solo il
contentuo di body ed a passarle l'innerHTML di body della pagina modificata.
Così ottenevo la visualizzazione della nuova pagina ma quando la salvavo,
con saveas, e riaprivo non compariva nulla.
Per l'hta avevo già iniziato a dare un'occhiata ma mi sembrava troppo
complicata. La terrò comunque come ultima spiaggia.
Grazie ancora per il tuo aiuto. ti sarei comunque molto grato se mi
specificassi qualcosa di più su come potrei fare ad usare il FSO.
grazie


 - dai un'occhiata su msdn riguardo le hta (HTML applications)
Preciso che al momento mi interessa solo la compatibilità con IE
Mi sembra molto interessante la tua proposta di usare il FSO. Potresti
andare un pò più nel dettaglio? Cosa dovrei passare al file che apro con il
FSO?
Per ciò che riguarda il primo consiglio penso proprio che non funzioni in
quanto avevo già porvato ad aprire una pagina web alla quale mancava solo il
contentuo di body ed a passarle l'innerHTML di body della pagina modificata.
Così ottenevo la visualizzazione della nuova pagina ma quando la salvavo,
con saveas, e riaprivo non compariva nulla.
Per l'hta avevo già iniziato a dare un'occhiata ma mi sembrava troppo
complicata. La terrò comunque come ultima spiaggia.
Grazie ancora per il tuo aiuto. ti sarei comunque molto grato se mi
specificassi qualcosa di più su come potrei fare ad usare il FSO.
grazie


 - dai un'occhiata su msdn riguardo le hta (HTML applications)
Preciso che al momento mi interessa solo la compatibilità con IE
Mi sembra molto interessante la tua proposta di usare il FSO. Potresti
andare un pò più nel dettaglio? Cosa dovrei passare al file che apro con il
FSO?
Per ciò che riguarda il primo consiglio penso proprio che non funzioni in
quanto avevo già porvato ad aprire una pagina web alla quale mancava solo il
contentuo di body ed a passarle l'innerHTML di body della pagina modificata.
Così ottenevo la visualizzazione della nuova pagina ma quando la salvavo,
con saveas, e riaprivo non compariva nulla.
Per l'hta avevo già iniziato a dare un'occhiata ma mi sembrava troppo
complicata. La terrò comunque come ultima spiaggia.
Grazie ancora per il tuo aiuto. ti sarei comunque molto grato se mi
specificassi qualcosa di più su come potrei fare ad usare il FSO.
grazie


 Grazie ancora per il tuo aiuto.
De nada.
Ciao

On Mon, 02 Sep 2002 09:39:14 GMT, 
rur...@inwind.it
 (Roberto Urban)
wrote:

IE5[ windows] e quindi un po' limitato...
pero' mi pare sia una idea valida  anche per probemi di stampa di pop
up che spesso si rifiutano di essere stampate (stampando l'opener)
prova a clonare il body del pop up e sostituirlo a se stesso 
questo dovrebbe stabilizzarlo.
prova la pagina seguente
ti apre una pop up con una semplice tabella e ti propone il
salvataggio con nome 'dovreiesseretabella.html'
<HTML>
<HEAD>
<TITLE> stabilizzare dom pop up </TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
<script language="javascript">
/* tutto su una riga*/
scrvitabella='<TABLE><TR><TD>a</TD><TD>k</TD></TR><TR><TD>t</TD><TD>t</TD></TR></TABLE>'
/* fino a qui*/
//apre una pop up 
aa=window.open('about:blank','pippo')
aa.document.open()
aa.document.write('<HTML><HEAD><TITLE> ciao
</TITLE></HEAD><BODY>'+scrvitabella+'</BODY></HTML>')
aa.document.close()
//alert(aa.document.getElementsByTagName('body')[0].innerHTML)
//crea il clone
copia=aa.document.getElementsByTagName('body')[0].cloneNode(true)
//alert(copia)
//sostituisce il clone all' originale
/*tutto su una riga*/
aa.document.getElementsByTagName('body')[0].parentNode.replaceChild(copia,aa.document.getElementsByTagName('body')[0])
/* fino a qui*/
//salvataggio su windows
aa.document.execCommand("SaveAs",false,"dovreiesseretabella.html")
</script>
ciao dimmi se ti va per favore

aa.document.write('<HTML><HEAD><TITLE> ciao
</TITLE></HEAD><BODY>'+scrvitabella+'</BODY></HTML>')
naturalmente anche qusto su una riga sola

On Mon, 02 Sep 2002 15:54:17 GMT, 
p.ca...@toglimitiscalinet.it
 wrote:
riassumendo:
 riesco a salvare una pagina aggiornata solo passando da una pop up di
servizio
di seguito un esempio con tabella alla quale aggiungo dinamicamente
delle righe a piacere sulla pagina iniziale
poi comando  il salvataggio di una pagina di servizio [copia della
principale aggiornata] che stabilizzo con il clone
e richiudo la pop up al salvataggio
nuovo esempio
<HTML>
<HEAD>
<TITLE> salvataggio tramite pop up ausiliaria </TITLE>
</HEAD>
<BODY>
<TABLE border=3 id=modificabile><TBODY><TR><TD>a</TD><TD>k</TD>
</TR><TR><TD>t</TD><TD>t</TD></TR></TBODY></TABLE>
</BODY><form>
<input type=button onclick=nome() value='aggiungi righe a piacere'>
</form>
<form>
<input type=button onclick=nome1() value='salva la pagina
aggiornata''>
</form></HTML>
<script language="javascript">
w=0
function nome(){
riganuova=document.createElement('tr')
for (i=0;i<2;i++)
{
cella=document.createElement('td')
testo=document.createTextNode(w++)
cella.appendChild(testo)
riganuova.appendChild(cella)}
document.getElementById('modificabile').firstChild.appendChild(riganuova)}
function nome1(){
if(!document.all&&document.getElementById)
{return alert('spiacente solo per IE5')}
copia=document.getElementsByTagName('body')[0].cloneNode(true)
//alert(copia.innerHTML)
aa=window.open('about:blank','pippo','height=1,width=1,toolbars=no')
aa.document.write(copia.innerHTML)
copia=aa.document.getElementsByTagName('body')[0].cloneNode(true)
aa.document.getElementsByTagName('body')[0].parentNode.replaceChild(copia,aa.document.getElementsByTagName('body')[0])
aa.document.execCommand("SaveAs",false,"dovreiesseretabella.html")
aa.close()}
</script>


dato che il postatore originario pare avere trovato locum  satis aptum
ut capitem percotere, qualcuno per caso ha verificato se il terzo mio
post in thread risolve il problema lamentato?
no eh?
pazienza