2010-10-20 25 views

Trả lời

18

Bố cục nội dung là response header, ví dụ: máy chủ phải trả lại. Bạn không thể đạt được điều này với javascript phía máy khách.

+0

phải đó là những gì tôi nghĩ. –

10

Trình duyệt dựa trên Firefox và Chromium hỗ trợ download attribute. Nếu bạn cần khả năng tương thích tốt hơn bây giờ, hãy sử dụng Downloadify dựa trên Flash làm dự phòng.


HTML chỉ: sử dụng download thuộc tính:

<a download href="http://upload.wikimedia.org/wikipedia/commons/b/bb/Wikipedia_wordmark.svg">Download</a>


Javascript chỉ: bạn có thể lưu bất kỳ tập tin với mã này:

function saveAs(uri) { 
 
    var link = document.createElement('a'); 
 
    if (typeof link.download === 'string') { 
 
     link.href = uri; 
 
     link.setAttribute('download', true); 
 

 
     //Firefox requires the link to be in the body 
 
     document.body.appendChild(link); 
 

 
     //simulate click 
 
     link.click(); 
 

 
     //remove the link when done 
 
     document.body.removeChild(link); 
 
    } else { 
 
     window.open(uri); 
 
    } 
 
} 
 

 
var file = 'http://upload.wikimedia.org/wikipedia/commons/b/bb/Wikipedia_wordmark.svg'; 
 
saveAs(file);

+1

Khi tôi thử điều này (như một người mới làm quen javaScript hoàn chỉnh), nó hoạt động như tôi đã sử dụng 'true' như tên mong muốn của tệp đã tải xuống. Tôi nghĩ rằng nó cần phải được 'link.setAttribute ('download', '');' để tránh cung cấp một tên được đề xuất cho các tập tin tải về? – Speed8ump

Các vấn đề liên quan