Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Script: problema con iframe che richiama un file da un altro dominio

    Ciao a tutti,
    non so bene come spiegare il mio problema e a dire il vero anche il titolo non è molto chiaro.
    Proverò a spiegarmi con un esempio pratico anche perchè in java non so quasi nulla.

    Ho scaricato uno script php che mi permette di caricare sul server file che vengono prelevati direttamente dal pc dell'utente. Lo script per funzionare utilizza php, mentre per la visualizzazione di un immagine che annunci il caricamento del file (la classica gif del tipo ATTENDERE IL CARICAMENTO) utilizza il javascript.

    Lo script è costituito da due file, i seguenti:

    INDEX.HTML

    codice:
    <html>
    <body>
    
    <div id="iframe">
    <iframe src="upload.php" frameborder="0"></iframe>
    </div>
    
    <div id="images"></div>
    
    </body>
    </html>
    UPLOAD.PHP
    codice:
    <?php
    $ftmp = $_FILES['image']['tmp_name'];
    $oname = $_FILES['image']['name'];
    $fname = 'upload/'.$_FILES['image']['name'];
    if(move_uploaded_file($ftmp, $fname)){
    echo "<script>";
    echo "var par = window.parent.document;";
    echo "var images = par.getElementById('images'); ";
    echo "images.innerHTML = 'File $oname caricato';";
    echo "</script>";
    
    //exit();
    }
    ?>
    <html><head>
    <script language="javascript">
    function upload(){
            // hide old iframe
            var par = window.parent.document;
    
            // add image progress
            var images = par.getElementById('images');
            var new_div = par.createElement('div');
            var new_img = par.createElement('img');
            new_img.src = 'indicator.gif';
            new_img.className = 'load';
            new_div.appendChild(new_img);
            images.appendChild(new_div);
    
            // send
            document.iform.submit();
    }
    </script>
    Lo script funziona perfettamente quando i due file si trovano sullo stesso dominio.

    Se invece i file si trovano su due domini diversi lo script ha qualche problema e più precisamente la parte in javascript non funziona bene poichè l'immagine di attesa (la classica gif del tipo ATTENDERE IL CARICAMENTO) non viene visualizzata, ma lo script in php comunque carica il file sul server.

    Il mio problema riguarda la parte in javascript e più precisamente come fare per far visualizzare l'icona di attesa anche se il file upload.php si trova su un dominio diverso da quello in cui si trova il file index.html.

    E' possibile farlo? Io non sono molto pratico di javascript ma ho letto un pò di guide e credo che si possa fare utilizzando il giusto parametro (che io ignoro) e che quindi richiami lo script java anche se esso si trova su un dominio diverso.

    Qualcuno può dare un occhio alllo script, per piacere........

    Grazie 1000.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Per motivi di sicurezza il javascript non puo' trattare oggetti appartenenti a domini diversi.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Originariamente inviato da br1
    Per motivi di sicurezza il javascript non puo' trattare oggetti appartenenti a domini diversi.

    ciao
    Questo non la sapevo proprio!

    E' un vero problema allora.......come è possibile raggirare l'ostacolo per permettere il funzionamento del javascript? E' possibile o non esiste soluzione?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Inanzi tutto tu hai la possibilità di modificare la funzione upload() (javascript)?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Originariamente inviato da cavicchiandrea
    Inanzi tutto tu hai la possibilità di modificare la funzione upload() (javascript)?
    Ciao e grazie per la risposta.

    Se ti riferisci ai file in cui risiedono gli script, ti confermo che ho accesso ad entrambi i domini e quindi possono modificare, cambiare e/o manipolare tutto il codice dei file.

    Entrambi i domini sono però su server condivisi aruba e quindi non possomettere le mani sulla configurazione dei domini e/o der server, ma posso solo accedere ad esse tramite FTP e quindi accedere ai file in essi contenuti.

    C'è qualche speranza di poter risolvere?

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Prova a cambiare questa riga:
    codice:
    new_img.src = 'indicator.gif';
    Inserendo il percorso assoluto:
    codice:
    new_img.src = 'http://miosito.xx/miacartella/indicator.gif';
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Grazie per la tua risposta.

    Già provato, ma non funziona e il problema non riguarda solo alla gif ma anche il testo di conferma o di errore che viene stampato tramite il javascript.

    Altre soluzioni?

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Usare un iframe
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Edit: mi sono accorto adesso che già usi un iframe.
    All'ora penso che devi utilizza upload completo in entrambi i siti
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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 © 2024 vBulletin Solutions, Inc. All rights reserved.