2015-06-16 29 views
9

Używam do wyświetlania pliku tekstowego:Dlaczego zamiast pliku wyświetlany jest plik .txt w wersji <iframe>?

<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); 
}); 

Kiedy sprawdzać element w przeglądarce mogę zobaczyć lokalizację pliku.

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

Ale plik tekstowy jest pobierany w przeglądarce Chrome, Firefox i IE.

Jak rozwiązać ten problem?


EDIT: można odtworzyć zachowanie w następującym skrzypcach, że dziwnie wpływa tylko Firefox, dla każdego obciążenia strony po pierwszej.

Wystarczy open the page, a następnie naciśnij Uruchom.

Uwaga: wpływa to również na pierwsze obciążenie, jeśli aktywny jest moduł Firebug Net.

+0

@AndreaLigios Nope..still pobieranie pobierania .. –

+1

@AndreaLigios Masz rację. Jest pobierany, gdy odświeżam stronę w firefoxie.Ale nie ma problemów w IE ani chrome. –

Odpowiedz

2

To jest problem z plikiem. nie jest sformatowany jako html. ponieważ ma pewne specjalne znaki Unicode (np.) na końcu odczytu pliku. jeśli odpowiedź tekstowa ma taki charakter. nie udało się przeanalizować odpowiedzi jako HTML osadzony w elemencie iframe.

można sprawdzić ten przykład:

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

3

ponieważ przeglądarka rozumie tylko html. Zmień rozszerzenie pliku na .html
lub użyj języka po stronie serwera, takiego jak php i używając funkcji file_get_contents(), możesz wyświetlić plik tekstowy do przeglądarki.

+3

Dlaczego to działa w Chrome, IE itp.? A także w Firefoksie po raz pierwszy? –

+0