Страницы: 1
Пишу для себя простенькие утилиты. Сегодня удивился, когда увидел что пропадают пробелы во вложенньіх структурах
В начале подумал, что косяк в JSON.stringify, но вьівел на страницу - вроде норм.
Проверил на Хроме - там результат ожидаемьій: что в строке бьіло на входе, то и видим на вьіходе (в файле). На фф - пробел теряется..
Проверял на
ff45esr-x64-EN
ff45-x86-RU
ff43.0.1-x86-RU
Возможно, где-то и в моем коде косяк. Привожу пример:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="description" content="tool Pack JSON"/> <title>tool Pack JSON</title> </head> <body> <div id="info">Use a browser Chrome/Firefox with keys like as: --unlimited-quota-for-files --allow-file-access-from-files</div> <script type="text/javascript"> window.onload = function () { var de, i, lang, locale, pack, de_info = document.getElementById("info"), LANGUAGES = ["en", "uk"]; function record (s1, s2) { if (s2 === "") { s2 = s1; } return { fullName: s1, briefName: s2 }; } for (i = 0; i < LANGUAGES.length; i++) { lang = LANGUAGES[i]; switch (lang) { case "en": locale = {}; locale.menuNames = ["WORDS", "RESULTS", "HELP", "QUIT"]; locale["car"] = record("CAR", ""); locale["rain"] = record("RAIN RAINING", "RAIN END"); locale["bla"] = record("BLA BLA BLA", "WHAT THE LUCK?"); break; case "uk": locale = {}; locale.menuNames = ["СЛОВА", "РЕЗУЛЬТАТИ", "ДОВІДКА", "ВИХІД"]; locale["car"] = record("ТАЧКА", ""); locale["rain"] = record("ДОЖДЬ ИДЕТ", "ДОЖДЬ ЗАКОНЧИЛСЯ"); locale["bla"] = record("БЛА БЛА БЛА", "ЧТО ЗА ФИГНЯ?"); break; } pack = JSON.stringify(locale); de_info.innerHTML += "<br>" + pack; de = document.createElement("a"); de.setAttribute("download", "lang-" + lang + ".dat"); de.href = "data:text;charset=utf-8," + pack.toString(); de.innerHTML = "Save"; document.body.appendChild(de); de.click(); } de.innerHTML += "<br>Good work!"; } </script> </body> </html>
Отсутствует
Страницы: 1