2015-06-16 26 views
9

Sto utilizzando un per visualizzare un file di testo:Perché il file .txt in <iframe> viene scaricato anziché visualizzato?

<div class="document-view"> 
    <img src="img/302.GIF" /> 
</div> 

$(window).load(function() { 
    <s:if test="extention.equalsIgnoreCase('txt')"> 
     element = '<iframe class="iframe" src="/dmsrepo/<s:property value="docLocation"/>" />'; 
    </s:if> 

    $('.document-view').html(element); 
}); 

Quando ho ispezionare elemento nel browser posso vedere la posizione del file.

<iframe class="iframe" src="/dmsrepo/Legal Doc Type/LegalDocType_123456789_1.0.txt" /> 

Ma il file di testo viene scaricato in Chrome, Firefox e IE.

Come risolvere questo problema?


EDIT: è possibile riprodurre il comportamento nel seguente violino, che colpisce stranamente solo Firefox, per ogni caricamento della pagina dopo la prima.

Semplicemente open the page, quindi premere Esegui .

Nota: influenza anche il primo carico se il modulo Firebug Net è attivato.

+0

@AndreaLigios Nope..still file scaricati .. –

+1

@AndreaLigios Hai ragione ... Viene scaricato quando aggiorno la pagina in firefox. Ma non ci sono problemi in IE o Chrome. –

risposta

2

Questo è il problema con il file. non è formattato come html. perché ha alcuni caratteri unicode speciali (ad esempio) alla fine della lettura del file. se la risposta del testo ha un carattere speciale come quello. non è riuscito ad analizzare la risposta come html incorporato in iframe.

è possibile controllare questo esempio:

<iframe src='http://humanstxt.org/humans.txt' /> </iframe>

3

perché il browser comprende solo html. Cambia l'estensione del tuo file in .html
o usa il linguaggio lato server come php e utilizzando la funzione file_get_contents(), puoi visualizzare il file di testo sul browser.

+3

Allora perché funziona su Chrome, IE, ecc.? E anche su Firefox la prima volta? –

+0