HighDots Forums  

firefox : window.open e document.write

Javascript (Italian) Il linguaggio JavaScript (it.comp.lang.javascript)


Discuss firefox : window.open e document.write in the Javascript (Italian) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
melinda123@email.it
 
Posts: n/a

Default firefox : window.open e document.write - 05-09-2006 , 06:36 PM






<script> finestra = window.open('','ciao','width=500,height=500');
finestra.document.write('ciao');
</script>
----
Ho provato con internet explorer è funziona...
con Firefox mi apre il pop up visualizzandomi "ciao" , ma sotto dice
"interotto" e si carica la pagina all'infinito.
Infatti se provo a scrivere in write qualcosa di più complicato
(immagini ecc.) non me li visualizza.

Che devo fare?


Reply With Quote
  #2  
Old   
melinda123@email.it
 
Posts: n/a

Default Re: firefox : window.open e document.write - 05-09-2006 , 06:56 PM






Ho trovato la soluzione...aggiungendo all'inizio
finistra.document.open();
e alla fine finiestra.document.close();

Solo che ora ho un altro problema, in questa finestra popup devo
caricare un immagine e da quello che ho capito se l'immagine non si è
caricata completamente e attivandosi la funziona document.close() non
me la visualizza .

Se provo poi a ricaricare per la seconda volta la pagina, la visualizza
perchè molto probabilmente si è caricato l'immagine dalla cache.

Come posso fare?


Reply With Quote
  #3  
Old   
ZER0
 
Posts: n/a

Default Re: firefox : window.open e document.write - 05-10-2006 , 03:14 AM



On 9 May 2006 15:56:41 -0700, melinda123 (AT) email (DOT) it wrote:

Quote:
Solo che ora ho un altro problema, in questa finestra popup devo
caricare un immagine e da quello che ho capito se l'immagine non si è
caricata completamente e attivandosi la funziona document.close() non
me la visualizza .
Premesso che è un bel po' di tempo che non utilizzo approcci del genere, non
dovrebbe comportarsi in questo modo.

Su quale browser hai tale comportamento? Hai una pagina online di prova dove
hai replicato quest'errore?

--
"E' un vero peccato che tutte le persone che sanno come far funzionare
il Paese siano troppo occupate a guidare taxi o a tagliare capelli."
(George Burns)



Reply With Quote
  #4  
Old   
melinda123@email.it
 
Posts: n/a

Default Re: firefox : window.open e document.write - 05-10-2006 , 05:14 AM




Ecco qui: http://www.carlofuscapittore.it/inde.../dipinti2.html

Spiego meglio il problema.

Se si clicca su zoom, mi apre la finestra popup con l'immagine dentro.
La prima volta che si apre il popup, non visualizza niente.Se poi si
riclicca su zoom l'immagine viene caricata.

faccio una document write facendo riferimento al id del popup e
principalmente scrivo questo.
<img border="0" alt="Clicca sull\'immagine per c udere questa finestra
!" height="'+h+'" width="'+w+'" src="'+img.src+'"/>

Ho notato che la prima volta che viene caricato il popup ,le variabili
h e w sono a 0. Ho provato pure ad aprire un popup facendo solo
document write delle due variabili ma risultano sempre a 0 se caricate
per la prima volta, poi riprovo a cliccare nuovamente su zoom e tutto
funziona.

(questo solo su firefox)


Reply With Quote
  #5  
Old   
ZER0
 
Posts: n/a

Default Re: firefox : window.open e document.write - 05-10-2006 , 05:43 AM



On 10 May 2006 02:14:55 -0700, melinda123 (AT) email (DOT) it wrote:

Quote:
Se si clicca su zoom, mi apre la finestra popup con l'immagine dentro.
La prima volta che si apre il popup, non visualizza niente.Se poi si
riclicca su zoom l'immagine viene caricata.
[..]
principalmente scrivo questo.
img border="0" alt="Clicca sull\'immagine per c udere questa finestra
!" height="'+h+'" width="'+w+'" src="'+img.src+'"/
[..]
Ho notato che la prima volta che viene caricato il popup ,le variabili
h e w sono a 0.
Okay, ho afferrato la questione. In pratica tu stai richiedendo le dimensioni
di un'immagine quando questa ancora non è stata caricata, tutto qui.
il "document.close()" non c'entra.

Il punto del codice incriminato è il seguente:

var img = new Image();
img.src = URL;
w=img.width;
h=img.height;

Se qui fai un alert di w e h, come hai già notato, risulteranno entrambi a
zero; a meno che l'immagine non sia già stata cachata. Questo perché
impostando "img.src", chiedi al browser di fare una richiesta della risorsa
specificata dalla variabile "URL", ma il caricamento della risorsa non è certo
istantaneo, mentre il codice script successivo alla richiesta viene eseguito
immediatamente.

Di conseguenza, w e h non sono ancora state avvalorate.

Non è un "problema" di Firefox, è così che funzionano i browser. Anche su IE
hai il medesimo effetto, se lo provi da remoto e non in locale (ovviamente
dipende anche dalla banda e dalla dimensione dell'immagine).

Per recuperare le dimensioni di un'immagine, devi utilizzare l'evento onload:

var img = new Image();

img.onload=function(){
/* questo codice verrà eseguito solo al caricamento effettuato */
alert(this.width+"x"+this.height);
}
/* questo codice viene eseguito subito */
img.src = URL;

Ed è dentro l'onload che aprirai la finestra con le dimensioni richieste.

Di queste cose comunque, ne è già stato parlando ampiamente in passato su
questo NG, facendo una ricerca negli archivi (con google groups ad esempio)
troverai sicuramente molte informazioni che ti potranno essere d'aiuto.

Un suggerimento: volendo potresti fare a meno di tutto questo, per recuperare
le dimensioni corrette.
Del resto, hai già l'immagine caricata con le dimensioni in proporzione. Se
hai mantenuto la stessa proporzione per tutte le immagini, per ottenere le
dimensioni originali ti basta recuperare le dimensioni dell'anteprima e
moltiplicarle per il fattore di scala usato.

--
"E' un vero peccato che tutte le persone che sanno come far funzionare
il Paese siano troppo occupate a guidare taxi o a tagliare capelli."
(George Burns)



Reply With Quote
  #6  
Old   
melinda123@email.it
 
Posts: n/a

Default Re: firefox : window.open e document.write - 05-10-2006 , 06:26 AM



Ok, funziona tutto

grazie


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.