0

因此,当用户更改页面上的项目时,我尝试将一个小的 JSON 对象写入 URL,并且还允许读取 URL 以让用户从他们离开的地方继续。

我可以使用 JSZip 生成 zip,但我无法弄清楚以后如何从该字符串中打开 zip。这是我正在使用的代码。zip.file 有元素,但我不知道如何将 base64 字符串读回 zip2 以便能够打开它。

var figures = [{
    "qty": 1,
    "name": "",
    "level": 1,
    "defense": 1,
    "melee": 3,
    "ranged": 1,
    "abilities": [
      "c02","c12","c22","c32","t12"
    ]
  },{
    "qty": 1,
    "name": "",
    "level": 1,
    "defense": 2,
    "melee": 1,
    "ranged": 1,
    "abilities": [
      "c02","c12","c22","c32","t45"
    ]
  },{
    "qty": 1,
    "name": "",
    "level": 4,
    "defense": 1,
    "melee": 1,
    "ranged": 5,
    "abilities": [
      "c01","c14","c23","c35"
    ]
  }]
var zip = new JSZip()
zip.file = figures
var urlString = zip.generate({type:"base64"})
location.href="#"+ urlString
console.log(urlString)
console.log(zip)
var zip2 = new JSZip()
zip2.load(urlString,{"base64": true})
console.log(zip2)
4

1 回答 1

1

JSZip 不会在其实例上使用所有属性,您需要使用file() 方法

var zip = new JSZip();
zip.file("figures.json", JSON.stringify(figures));
var urlString = zip.generate({type:"base64"});

var zip2 = new JSZip(urlString,{"base64": true});
console.log(zip2.file("figures.json").asText());
于 2016-02-05T21:57:26.457 回答