2016-04-28 8 views
1

に新しいファイルを()を使用することはできません。保存ファイルが - 次のスクリプトは、ブラウザでのJSONファイルを作成し、自動的にディスクに保存FireFoxの

それはChrome 50.0.2661.87メートルで正常に動作しますが、それは(エラーがスローされませんが)FF 47.0a2動作しません。

問題は、(あなたが作品を、それをコメントアウトかのような)に関連すると思われる:

window.URL.revokeObjectURL(link.href); 

FFでこの動作の理由は何ですか?私はwindow.URL.revokeObjectURL()を省略する必要があります。

注:それがすべき最新のブラウザChromeとFirefoxの上で動作します。

var saveDataToFile = function(data, fileName, properties) { 
 
    window.URL = window.URL || window.webkitURL; 
 
    var file = new File(data, fileName, properties), 
 
    link = document.createElement('a'); 
 
    link.href = window.URL.createObjectURL(file); 
 
    link.download = fileName; 
 
    document.body.appendChild(link); 
 
    link.click(); 
 
    window.URL.revokeObjectURL(link.href);// possible problem here 
 
    document.body.removeChild(link) 
 
}; 
 

 
var fileName = 'test.json', 
 
    properties = { 
 
    type: 'octet/stream' 
 
    }, 
 
    data = [JSON.stringify({ 
 
    test: 'hello' 
 
    })]; 
 
saveDataToFile(data, fileName, properties);

答えて

-1

window.URL.revokeObjectURL(link.href); 

この行を削除し、それをダウンロードするために使用される前にURLを配置しているように思えます。

テスト:https://jsfiddle.net/cLvf7yny/

+0

共有していただきありがとうございます。問題はFFでのみ発生し、Chromeでは発生しません。どんな考え? – GibboK

+0

@GibboK、ダウンロードの実装がちょっと違う。 – Qwertiy

関連する問題