2010-12-16 18 views
5

Olası Çoğalt bir dosyaya textarea içinde seçilen metnin içeriğini kaydetmek: Bazı kullanıcıyı gösteren bir şekle sahip
Download textarea contents as a file using only Javascript (no server-side)Ekran iletişim "Farklı kaydet" ve müşterinin PC'de

Bir textarea ilgili bilgi. Kullanıcı bilgiyi kaydetmek istiyorsa, metni textarea'dan kopyaladıktan sonra [Kaydet] butonuna tıklar, kullanıcının uygun bir yolu seçmesine izin vermek için bir diyalog kutusu görünür ve seçilen metni metin dosyasına gönderir

Sorun şu ki, Farklı kaydet iletişim kutusunu nasıl görüntüleyeceğimi bilmiyorum ve istemci sitesinde metin dosyası olarak seçilen yola yazabilirim (Javascript veya Jquery kullanabilir mi?). Birisi bana biraz ipucu verebilir mi acaba?

Çok teşekkür ederim.

+1

Bunu yapabileceğinizi sanmıyorum. – sje397

+0

@jleedev: yine de kabul edilen cevap sunucu tarafıydı. –

+1

@tlpd: İstemci Windows'da IE olmadıkça ve güvenlik izinleri COM nesnelerini oluşturmaya izin vermedikçe (IE varsayılan olarak önbelleğe izin vermiyorsa) javascript'te imkansızdır. Arama ve etiket seçeneklerinizi flash, java apletleri vb. Içerecek şekilde genişletmek isteyebilirsiniz. –

cevap

13

IE tek çözüm:

function SaveContents(element) { 
    if (typeof element == "string") 
     element = document.getElementById(element); 
    if (element) { 
     if (document.execCommand) { 
      var oWin = window.open("about:blank", "_blank"); 
      oWin.document.write(element.value); 
      oWin.document.close(); 
      var success = oWin.document.execCommand('SaveAs', true, element.id) 
      oWin.close(); 
      if (!success) 
       alert("Sorry, your browser does not support this feature"); 
     } 
    } 
} 

Gerekli HTML örnek:

<textarea id="myText"></textarea><br /> 
<button type="button" onclick="SaveContents('myText');">Save</button> 

Bu textarea kimliğine eşit isimde bir dosyaya verilen metin alanının içeriğini kaydeder.

diğer tarayıcılar için olduğu gibi, bu okuyabilir: Does execCommand SaveAs work in Firefox?

Testi dava ve çalışma örneği: http://jsfiddle.net/YhdSC/1/ (Yalnızca IE ..)

NOT: diğer dosya türlerine için çalışmayabilir https://support.microsoft.com/en-us/help/281119/internet-explorer-saves-html-content-instead-of-the-active-document

txt

+0

'u getirin. Gölge Sihirbazı'na teşekkür ederim, kontrol ettim ve bu şekilde benim için çalıştım. –

+0

@tlpd cheers, lütfen bu cevabı kabul edin ve ayrıca eski sorularınızı gözden geçirin ve sorununuzu çözen cevapları kabul edin. –

+0

Web sayfamda IE9'u desteklemesi gerektiğinde ısrar eden bir müşterim var. Bu çözüm işe yarıyor. – oraclesoon

İlgili konular