Тема: JS: JSON5
По местным мотивам написал вот такой код:
var JSON5 = loadHTMLscript('JSON5', "https://unpkg.com/json5@^2.2.0/dist/index.min.js");
if (JSON5 == undefined || !'stringify' in JSON5) {
WSH.Echo("JSON5 not loaded, increase sleep.");
WSH.Quit();
};
var obj = {
"objName": {
"item1": "value 1",
"item2": "value 2"
}
};
WSH.Echo("obj: " + JSON5.stringify(obj));
// output: obj: {objName:{item1:'value 1',item2:'value 2'}}
function loadHTMLscript(name, url, sleep) {
var document = WSH.CreateObject('htmlfile');
document.write('<meta http-equiv="x-ua-compatible" content="IE=Edge" /><script src="' + url + '"></script>');
WSH.Sleep(sleep || 500);
document.close();
return document.parentWindow[name];
}
Значение для слипа подобрано экспериментально.
Пробовал делать цикл с минимальной задержкой и повторным чтением document.parentWindow[name] - получаю бесконечный цикл, похоже значение где-то кэшируется.
Нет ли какого-то легального способа определить, что внешний скрипт загружен?