Javascript 无法将长json保存到internet explorer 11中的文件

Javascript 无法将长json保存到internet explorer 11中的文件,javascript,json,cross-browser,internet-explorer-11,Javascript,Json,Cross Browser,Internet Explorer 11,我试图将我的js应用程序的状态(一个js对象)保存为json字符串到一个文件中,以便以后能够再次加载它 我正在使用这个代码 function SaveAsFile(t,f,m) { try { var b = new Blob([t],{type:m}); saveAs(b, f); } catch (e) { window.open("data:"+m+"," + encodeURIComponent(t), '_blank',''); } } funct

我试图将我的js应用程序的状态(一个js对象)保存为json字符串到一个文件中,以便以后能够再次加载它

我正在使用这个代码

function SaveAsFile(t,f,m) {
  try {
    var b = new Blob([t],{type:m});
    saveAs(b, f);
  } catch (e) {
    window.open("data:"+m+"," + encodeURIComponent(t), '_blank','');
  }
}

function download(text) {
  SaveAsFile(text,"filename.txt","application/json;charset=utf-8");
}

$('#saveButton').on('click', function(e) {
  download(JSON.stringify(appData));
});
现在奇怪的部分是:如果保存一个短json,如下所示:

 {
   "treeData": {
     "id": "root",
     "name": "Sicherung",
     "data": {
       "isLeaf": false,
       "l": 0,
       "A": 1,
       "R": 0,
       "Rsum": 0,
       "I": 0,
       "dUNormal": 0,
       "danger": false,
       "uRest": 24
     },
     "children": []
   },
   "config": {
     "voltage": 24,
     "iFuse": 2,
     "temperature": 30
   }
 }
{
  "treeData": {
    "id": "root",
    "name": "Sicherung",
    "data": {
      "isLeaf": false,
      "l": 0,
      "A": 1,
      "R": 0,
      "Rsum": 0,
      "I": 0,
      "dUNormal": 0,
      "danger": false,
      "uRest": 24
    },
    "children": [{
      "id": "9a7fa260-5369-e041-a79f-408ec0f181cd",
      "name": "___",
      "data": {
        "isLeaf": false,
        "l": 0,
        "A": 0,
        "R": null,
        "Rsum": null,
        "I": 0,
        "dUNormal": null,
        "danger": false,
        "uRest": null
      },
      "children": [{
        "id": "00c6b684-8914-6535-2baf-b93d11fdaa1b",
        "name": "___",
        "data": {
          "isLeaf": false,
          "l": 0,
          "A": 0,
          "R": null,
          "Rsum": null,
          "I": 0,
          "dUNormal": null,
          "danger": false,
          "uRest": null
        },
        "children": [{
          "id": "24ebdc15-44c9-1dea-043d-7af2a696ccf3",
          "name": "___",
          "data": {
            "isLeaf": false,
            "l": 0,
            "A": 0,
            "R": null,
            "Rsum": null,
            "I": 0,
            "dUNormal": null,
            "danger": false,
            "uRest": null
          },
          "children": [{
            "id": "abd73f4e-896e-4c3f-d3f0-fe0905b0f63d",
            "name": "___",
            "data": {
              "isLeaf": false,
              "l": 0,
              "A": 0,
              "R": null,
              "Rsum": null,
              "I": 0,
              "dUNormal": null,
              "danger": false,
              "uRest": null
            },
            "children": [{
              "id": "907d4323-758e-e796-6f59-f45220fe4c72",
              "name": "___",
              "data": {
                "isLeaf": false,
                "l": 0,
                "A": 0,
                "R": null,
                "Rsum": null,
                "I": 0,
                "dUNormal": null,
                "danger": false,
                "uRest": null
              },
              "children": [{
                "id": "89a3000f-e915-fde6-6b20-02678ae70720",
                "name": "___",
                "data": {
                  "isLeaf": false,
                  "l": 0,
                  "A": 0,
                  "R": null,
                  "Rsum": null,
                  "I": 0,
                  "dUNormal": null,
                  "danger": false,
                  "uRest": null
                },
                "children": [{
                  "id": "301d3a64-fec2-f19d-8513-cf0fc2bc88be",
                  "name": "___",
                  "data": {
                    "isLeaf": false,
                    "l": 0,
                    "A": 0,
                    "R": null,
                    "Rsum": null,
                    "I": 0,
                    "dUNormal": null,
                    "danger": false,
                    "uRest": null
                  },
                  "children": [{
                    "id": "b477b73c-184b-eb61-973a-2fbb3617d2d7",
                    "name": "___",
                    "data": {
                      "isLeaf": false,
                      "l": 0,
                      "A": 0,
                      "R": null,
                      "Rsum": null,
                      "I": 0,
                      "dUNormal": null,
                      "danger": false,
                      "uRest": null
                    },
                    "children": []
                  }]
                }]
              }]
            }]
          }]
        }]
      }]
    }]
  },
  "config": {
    "voltage": 24,
    "iFuse": 2,
    "temperature": 30
  }
}
它工作得非常好

但当我尝试保存较长的json时,如:

 {
   "treeData": {
     "id": "root",
     "name": "Sicherung",
     "data": {
       "isLeaf": false,
       "l": 0,
       "A": 1,
       "R": 0,
       "Rsum": 0,
       "I": 0,
       "dUNormal": 0,
       "danger": false,
       "uRest": 24
     },
     "children": []
   },
   "config": {
     "voltage": 24,
     "iFuse": 2,
     "temperature": 30
   }
 }
{
  "treeData": {
    "id": "root",
    "name": "Sicherung",
    "data": {
      "isLeaf": false,
      "l": 0,
      "A": 1,
      "R": 0,
      "Rsum": 0,
      "I": 0,
      "dUNormal": 0,
      "danger": false,
      "uRest": 24
    },
    "children": [{
      "id": "9a7fa260-5369-e041-a79f-408ec0f181cd",
      "name": "___",
      "data": {
        "isLeaf": false,
        "l": 0,
        "A": 0,
        "R": null,
        "Rsum": null,
        "I": 0,
        "dUNormal": null,
        "danger": false,
        "uRest": null
      },
      "children": [{
        "id": "00c6b684-8914-6535-2baf-b93d11fdaa1b",
        "name": "___",
        "data": {
          "isLeaf": false,
          "l": 0,
          "A": 0,
          "R": null,
          "Rsum": null,
          "I": 0,
          "dUNormal": null,
          "danger": false,
          "uRest": null
        },
        "children": [{
          "id": "24ebdc15-44c9-1dea-043d-7af2a696ccf3",
          "name": "___",
          "data": {
            "isLeaf": false,
            "l": 0,
            "A": 0,
            "R": null,
            "Rsum": null,
            "I": 0,
            "dUNormal": null,
            "danger": false,
            "uRest": null
          },
          "children": [{
            "id": "abd73f4e-896e-4c3f-d3f0-fe0905b0f63d",
            "name": "___",
            "data": {
              "isLeaf": false,
              "l": 0,
              "A": 0,
              "R": null,
              "Rsum": null,
              "I": 0,
              "dUNormal": null,
              "danger": false,
              "uRest": null
            },
            "children": [{
              "id": "907d4323-758e-e796-6f59-f45220fe4c72",
              "name": "___",
              "data": {
                "isLeaf": false,
                "l": 0,
                "A": 0,
                "R": null,
                "Rsum": null,
                "I": 0,
                "dUNormal": null,
                "danger": false,
                "uRest": null
              },
              "children": [{
                "id": "89a3000f-e915-fde6-6b20-02678ae70720",
                "name": "___",
                "data": {
                  "isLeaf": false,
                  "l": 0,
                  "A": 0,
                  "R": null,
                  "Rsum": null,
                  "I": 0,
                  "dUNormal": null,
                  "danger": false,
                  "uRest": null
                },
                "children": [{
                  "id": "301d3a64-fec2-f19d-8513-cf0fc2bc88be",
                  "name": "___",
                  "data": {
                    "isLeaf": false,
                    "l": 0,
                    "A": 0,
                    "R": null,
                    "Rsum": null,
                    "I": 0,
                    "dUNormal": null,
                    "danger": false,
                    "uRest": null
                  },
                  "children": [{
                    "id": "b477b73c-184b-eb61-973a-2fbb3617d2d7",
                    "name": "___",
                    "data": {
                      "isLeaf": false,
                      "l": 0,
                      "A": 0,
                      "R": null,
                      "Rsum": null,
                      "I": 0,
                      "dUNormal": null,
                      "danger": false,
                      "uRest": null
                    },
                    "children": []
                  }]
                }]
              }]
            }]
          }]
        }]
      }]
    }]
  },
  "config": {
    "voltage": 24,
    "iFuse": 2,
    "temperature": 30
  }
}
ie11提示由于安全设置,我无法下载此文件

在chrome中,短JSON和长JSON字符串都可以工作。不幸的是,我需要它来处理ie11

  • 有没有人有办法解决这个问题
  • 哪个安全设置导致此错误
  • 我可以用不同的方式/格式保存它吗

谢谢你的帮助

如果其他人有这个问题,这里是我的解决方案

虽然我没有发现实际问题,但我用不同的方法解决了它:

function download(text) {
    if (isIE()) {
      var targetPath = $('#ieTargetPath').val();

      var fso = new ActiveXObject("Scripting.FileSystemObject"); 

      var s = fso.CreateTextFile(targetPath, true, true); 
      s.WriteLine(text);
      s.Close();
   } else {
      ...
   }
}

如果有其他人有这个问题,这里是我的解决方案

虽然我没有发现实际问题,但我用不同的方法解决了它:

function download(text) {
    if (isIE()) {
      var targetPath = $('#ieTargetPath').val();

      var fso = new ActiveXObject("Scripting.FileSystemObject"); 

      var s = fso.CreateTextFile(targetPath, true, true); 
      s.WriteLine(text);
      s.Close();
   } else {
      ...
   }
}