我想用JavaScript創建一個文本文件,我知道它可以通過使用ActiveX對象,但它只能在IE瀏覽器上運行。用JavaScript創建文本文件
我的要求是使用JavaScript爲Safari瀏覽器生成一個文本文件?
任何人都可以在這方面幫助我嗎?
我想用JavaScript創建一個文本文件,我知道它可以通過使用ActiveX對象,但它只能在IE瀏覽器上運行。用JavaScript創建文本文件
我的要求是使用JavaScript爲Safari瀏覽器生成一個文本文件?
任何人都可以在這方面幫助我嗎?
,但我的要求是使用JavaScript的 Safari瀏覽器
這是不可能的,香草的Javascript由於安全限制生成一個文本文件中。然而,您可以使用服務器端JavaScript,如Node.JS或Ajax或其他服務器端技術。
在JavaScriptü可以使用下面的行詢問用戶保存的文本文件,
window.open("data:text/json;charset=utf-8," + escape("Ur String Object goes here"));
我已經在一些流行的瀏覽器測試這回一些時間...只是確保它工作在Safari或不... 好運
已發佈此答案已有3年,但此代碼在Google Chrome中無法正常工作。 – hexicle
另一種方法可以使用Blob
和URL.createObjectURL
。所有最新的瀏覽器,包括Safari 6+都支持它們。
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;
};
下面是一個使用這種技術來從textarea
保存任意文本的example。
另一件需要注意的例子是我在下載鏈接上使用了download
attribute。不幸的是,Safari目前不支持它。但是,在瀏覽器中,單擊時會自動下載文件,而不是在瀏覽器中打開文件。另外,由於我將download
屬性設置爲info.txt
,因此將使用該名稱下載該文件,而不是由createObjectURL
生成的隨機名稱。
老兄提供給我們您的代碼,以便我們可以幫助..... –
另請參閱[如何使用兼容javascript的跨瀏覽器創建,保存txt文件](http://stackoverflow.com/questions/7392117/ how to create-save-a-txt-file-with-javascript-compatible-cross-browser) – harpo