2015-06-16 8 views
9

मैं एक पाठ फ़ाइल प्रदर्शित करने के लिए एक उपयोग कर रहा हूँ:क्यों <iframe> में .txt फ़ाइल प्रदर्शित होने की बजाय डाउनलोड हो रही है?

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

जब मैं ब्राउज़र में तत्व का निरीक्षण मैं फ़ाइल स्थान देख सकते हैं।

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

लेकिन टेक्स्ट फ़ाइल क्रोम, फ़ायरफ़ॉक्स और आईई में डाउनलोड हो रही है।

इस समस्या को हल करने के लिए कैसे करें?


संपादित: आप निम्नलिखित बेला, कि अजीब पहले एक के बाद हर पृष्ठ लोड के लिए, केवल फ़ायरफ़ॉक्स को प्रभावित करता है में व्यवहार को पुनः कर सकते हैं।

सीधे शब्दों में open the page, तो भागो दबाएँ।

नोट: फ़ायरबग नेट मॉड्यूल सक्रिय होने पर यह पहले लोड को भी प्रभावित करता है।

+0

@AndreaLigios नोप .. फ़ाइल भरने के बाद .. –

+1

@AndreaLigios आप सही हैं .. जब मैं फ़ायरफ़ॉक्स में पेज रीफ्रेश करता हूं तो डाउनलोड किया जाता है। लेकिन आईई या क्रोम में कोई समस्या नहीं है। –

उत्तर

2

यह फ़ाइल के साथ समस्या है। यह एचटीएमएल के रूप में स्वरूपित नहीं है। क्योंकि फ़ाइल पढ़ने के अंत में इसमें कुछ विशेष यूनिकोड (उदाहरण) वर्ण हैं। अगर टेक्स्ट प्रतिक्रिया में ऐसा विशेष चरित्र है। यह iframe में एम्बेडेड एचटीएमएल के रूप में प्रतिक्रिया विश्लेषण करने में विफल रहा।

आप इस उदाहरण देख सकते हैं:

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

3

क्योंकि ब्राउज़र केवल HTML को समझता है। अपने फ़ाइल एक्सटेंशन को .html
पर बदलें या php जैसे सर्वर साइड भाषा का उपयोग करें और file_get_contents() फ़ंक्शन का उपयोग करके, आप ब्राउज़र में टेक्स्ट फ़ाइल प्रदर्शित कर सकते हैं।

+3

फिर यह क्रोम, आईई आदि पर क्यों काम करता है? और फ़ायरफ़ॉक्स पर पहली बार भी? –

+0