Загрузка веб-формы JSON списка объектов в Firefox 26 - PullRequest
0 голосов
/ 22 января 2020

Я вынужден использовать старую firefox версию 26. У меня нижеприведенный код отлично работает на firefox 72, я знаю, что это намного новее. Проходя через функцию загрузки, я понимаю, что моя проблема как-то связана с a.click (). При сравнении консолей отладки между браузерами я не замечаю каких-либо различий в функции, но a.click () не вызывает всплывающее окно saveAs.

Вот формат списка json, который имеет индексы, равные n элементам блока выбора.

testn:{
  val: "pass",
  desc: "test description"}

JS

jsonData = $("#myform").serializeArray();
function download(content, fileName, contentType) {
    var a = document.createElement("a");
    var file = new Blob([content], {type: contentType});
    a.href = URL.createObjectURL(file);
    a.download = fileName;
    a.click();
    }
if (confirm("Save results to <SCRIPT_PATH_LOCATION>")){
    download(JSON.stringify(jsonData), 'webform.results.json', 'text/plain');
} else {
    return false
    }

1 Ответ

0 голосов
/ 22 января 2020

Я понял это. Современное удобство позволило мне избежать ненадлежащего добавления нового элемента «а» на веб-форму.

JS

jsonData = $("#myform").serializeArray();
function download(content, fileName, contentType) {
    var a = document.createElement("a");
  //Insert these
    document.body.appendChild(a);
    a.style = "display: none";
  //Insert complete
    var file = new Blob([content], {type: contentType});
    a.href = URL.createObjectURL(file);
    a.download = fileName;
    a.click();
    }
if (confirm("Save results to <SCRIPT_PATH_LOCATION>")){
    download(JSON.stringify(jsonData), 'webform.results.json', 'text/plain');
} else {
    return false
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...