Một cách khác để thực hiện việc này là sử dụng Blob
và URL.createObjectURL
. Tất cả các trình duyệt gần đây bao gồm Safari 6+ đều hỗ trợ chúng.
var textFile = null,
makeTextFile = function (text) {
var data = new Blob([text], {type: 'text/plain'});
// If we are replacing a previously generated file we need to
// manually revoke the object URL to avoid memory leaks.
if (textFile !== null) {
window.URL.revokeObjectURL(textFile);
}
textFile = window.URL.createObjectURL(data);
// returns a URL you can use as a href
return textFile;
};
Dưới đây là một example có sử dụng kỹ thuật này để lưu văn bản tùy ý từ một textarea
.
Một điều cần lưu ý về ví dụ này là tôi đã sử dụng download
attribute trên liên kết tải xuống. Thật không may, Safari hiện không hỗ trợ nó. Tuy nhiên, trong các trình duyệt thực hiện, tệp sẽ tự động được tải xuống khi được nhấp thay vì mở tệp trong trình duyệt. Ngoài ra, vì tôi đặt thuộc tính download
thành info.txt
, tệp sẽ được tải xuống với tên đó thay vì tên ngẫu nhiên được tạo bởi createObjectURL
.
Nguồn
2013-12-28 09:00:05
Dude cung cấp cho chúng tôi mã của bạn để chúng tôi có thể trợ giúp ..... –
xem thêm [Cách tạo, lưu tệp txt với trình duyệt chéo tương thích javascript] (http://stackoverflow.com/questions/7392117/ cach-to-create-save-a-txt-file-với-javascript-compatible-cross-browser) – harpo