2016-11-20 54 views
1

我有以下功能將文件保存到使用blob瀏覽器...使用JavaScript的Blob數據保存爲一個CSS文件

var saveData = (function() { 
    var a = document.createElement("a"); 
    document.body.appendChild(a); 
    a.style = "display: none"; 
    return function (data, fileName) { 
     var json = JSON.stringify(data), 
      blob = new Blob([json], {type: "octet/stream"}), 
      url = window.URL.createObjectURL(blob); 
     a.href = url; 
     a.download = fileName; 
     a.click(); 
     window.URL.revokeObjectURL(url); 
    }; 
}()); 

我傳遞了以下數據吧...

var filename = "style.css"; 
var data = CSSFile //CSS string 

saveData(data, filename) 

我的data是我想要保存爲CSS文件的CSS屬性的字符串。問題是,當我打開下載的CSS文件時,它看起來像...

"html, body {....} ... " 

注意它被雙引號包圍。我需要刪除這些。我嘗試以下...

CSSFile = CSSFile.substring(0, CSSFile.length - 1); 
saveData(data, filename) 

但是,一切都做的是去除第一個字符的雙引號中......

"tml,body{...}..." 

我如何保存字符串沒有雙引號?

回答

0

您在字符串中獲取引號,因爲當它已經是字符串時,通過JSON.stringify運行它。

試試這個。

var saveData = (function() { 
    var a = document.createElement("a"); 
    document.body.appendChild(a); 
    a.style = "display: none"; 
    return function (data, fileName) { 
     var blob = new Blob([data], {type: "octet/stream"}), 
      url = window.URL.createObjectURL(blob); 
     a.href = url; 
     a.download = fileName; 
     a.click(); 
     window.URL.revokeObjectURL(url); 
    }; 
}()); 
相關問題