Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    105

    [JAVASCRIPT] iframe con IE

    Allora io ho un iframe nascosto che mi serve come preload per caricare un file txt dal computer in uso e poi lavorarci su.

    il problema è che con questo comando javascript:
    codice:
    filecontent=loadframe.document.body.innerHTML;
    sia con:
    codice:
    filecontent=parent.loadframe.document.body.innerHTML;
    IE non fa nulla, mentre sia gchrome che firefox caricano tranquillamente la pagina nella variabile temporanea.

    Ho anche provato ad usare il comando contentWindow in questa maniera:
    codice:
    filecontent=document.getElementsByTagName('iframe').item(0).contentWindow.document.body.innerHTML;
    ma da lo stesso problema di prima.

    Non so più dove sbattere la testa,

    please qualcuno mi aiuti!

    grazie a tutti

  2. #2
    frames[0].document.body.innerHTML;

    P.S. se non metti var davanti quella variabile sarà globale, non temporanea
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    105
    Originariamente inviato da andr3a
    frames[0].document.body.innerHTML;

    P.S. se non metti var davanti quella variabile sarà globale, non temporanea
    per la variabile lo so che così è globale.
    cmq non funziona lo stesso, con IE mi da sempre errore di visualizzazione

  4. #4
    Originariamente inviato da Adanf
    per la variabile lo so che così è globale.
    cmq non funziona lo stesso, con IE mi da sempre errore di visualizzazione
    frames ha sempre funzionato con tutti i browsers

    (e hai scritto tu "la variabile temporanea" ... se è globale ha poco di temporaneo, no?)
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    105
    Originariamente inviato da andr3a
    frames ha sempre funzionato con tutti i browsers

    (e hai scritto tu "la variabile temporanea" ... se è globale ha poco di temporaneo, no?)
    a parte la variabile che non importa che sia globale o no, il mio problema è che internet explorer mi da un "problema di visualizzazione" con tutti i comandi elencati sopra, anche con quello proposto da andr3a e non mi salva nulla sulla variabile, mentre firefox e gchrome funzionato senza problemi e non capisco il perchè.
    Nessuno sa aiutarmi?

    Comunque per chiarezza posto tutto il codice html e javascript:
    codice:
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>  ROULETTE LOTTO  </title>
    <link rel="stylesheet" type="text/css" href="Css.css" />
    <script type="text/javascript" src="JS.js"></script>
    </head>
    	<body>
    		<div id="container">
       	 		<div>
                	<input type="text" value="lotto.txt" style="width:200px" />
                	<button type="button" onclick="sfoglia()" >Sfoglia...</button>
    				<button type="button" style="margin-left:10px" onclick="inserisci()">inserisci</button>
                	<input type="file" style="visibility:hidden" onchange="cambia(this)"/> 
                	<iframe src="lotto.txt" name="loadframe" ></iframe> 
            	</div>
        	</div>
        	<div>  
    		</div>
    	</body>
    </html>
    codice:
    var filecont;
    
    function sfoglia(){
    	document.getElementsByTagName('input').item(1).click();
    }
    
    function cambia(va){
    	document.getElementsByTagName('input').item(0).value=va.value;
    	document.getElementsByTagName('iframe').item(0).src=document.getElementsByTagName('input').item(0).value;
    }
    
    function inserisci(){
    	filecont=frames[0].document.body.innerHTML;
    	document.getElementsByTagName('div').item(2).innerHTML=filecont;
    }
    spero che ci sia un buon uomo che mi sappia illuminare su questo fatto molto strano

  6. #6
    codice:
    <input type="file" style="visibility:hidden" onchange="cambia(this)"/>
    e questo da dove scappa fuori? Dove hai trovato questo script e in caso che data aveva?
    Considera che IE disabilita per sicurezza gli input di tipo file poichè non editabili tantomeno manovrabili via javascript, pensa te se quell'evento viene generato.

    Per cambiare il source dell'iframe va bene quello che fai, per avere accesso a source caricato hai la funzione onload ed onreadystatechange da associare all'iframe.

    Insomma, problema semplice ma pratica alquanto contorta ed un pò obsoleta
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    105
    Originariamente inviato da andr3a
    codice:
    <input type="file" style="visibility:hidden" onchange="cambia(this)"/>
    e questo da dove scappa fuori? Dove hai trovato questo script e in caso che data aveva?
    Considera che IE disabilita per sicurezza gli input di tipo file poichè non editabili tantomeno manovrabili via javascript, pensa te se quell'evento viene generato.

    Per cambiare il source dell'iframe va bene quello che fai, per avere accesso a source caricato hai la funzione onload ed onreadystatechange da associare all'iframe.

    Insomma, problema semplice ma pratica alquanto contorta ed un pò obsoleta
    avevo il sospetto che IE bloccasse qualcosa, però non capisco perchè se è un'operazione così rischiosa perchè allora firefox e gchrome non lo bloccano?

    E comunque se volessi caricare un file dal pc dell'utente (ovviamente senza usare programmi lato server) con javascript come posso fare?

    Io praticamente sto facendo un programma in javascript che viene usato come se fosse un programma .exe, quindi senza l'ausilio di internet e a me serve che l'utente possa decidere che file caricare con una UI.
    Come posso fare con IE quindi?

    p.s.: comunque quello script l'ho trovato nei riferimenti di dreamweaver CS4, e non dice nulla a proposito dell'incompatibilità con IE, visto che stavo proprio cercando una cosa simile pensavo si potesse usare.

  8. #8
    Originariamente inviato da Adanf
    E comunque se volessi caricare un file dal pc dell'utente (ovviamente senza usare programmi lato server) con javascript come posso fare?
    per ovvi motivi di sicurezza non puoi ... pensa se io creassi una form che in automatico mi prende le tue passwords, i tuoi contatti, i tuoi programmi installati, etc etc ...

    non so se IE ha ancora accesso via ActiveXObject ma in ogni caso pensare che con JavaScript si posa leggere il PC dell'utente è un errore, come è un errore pensare di salvare files manualmente.

    L'azione di scelta file deve essere esplicita, ormai questo è vero anche in Flash Player, e non è teoricamente possibile scrivere arbitrariamente o i virus sarebbero ovunque

    Dreamweaver? .... mah, non è un programma adatto a sviluppare siti webs, non so perchè la gente lo utilizzi
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    105
    Originariamente inviato da andr3a
    L'azione di scelta file deve essere esplicita, ormai questo è vero anche in Flash Player, e non è teoricamente possibile scrivere arbitrariamente o i virus sarebbero ovunque
    Infatti, il mio programma non è che apre o scrive sul pc dell'utente a sua incosaputa, ma deve aprire il file che l'utente decide di aprire, un pò come nei siti che ti fanno caricare le immagini aprendoti la finestra di "selezione del file da caricare", e per l'appunto quello script che ho messo fa questa cosa, solo che a quanto pare internet explorer blocca qualcosa nel processo di visualizzazione.

    ps.: tra l'altro ho notato che lo script sopracitato con internet explorer funziona senza problemi infatti nell'iframe viene visualizzato il file .txt che carico, solo che il problema sta nel momento in cui clicco sul pulsante inserisci per spostare il contenuto dell'iframe nella variabile 'filecontent'...
    quindi non capisco proprio dove sia il problema.

    Nessuno ha mai fatto un'operazione del genere?

  10. #10
    non hai capito, l'utente deve scegliere un file manualmente, non puoi avere accesso ai files utente via protocollo C:\\quellochevuoi ... prova online e non funzionerà un tubo, a meno che i files non siano nel server, ma allora l'utente cosa digita a fare? fai un elenco files e l'input type file non serve
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.