Электрон не откроет файл с JSON - PullRequest
0 голосов
/ 07 января 2020

Я пытаюсь использовать onclick = 'shell.openItem (' filename ') с именем файла, которое заполняется JSON. Когда я console.log (data [i] .url) возвращает правильный файл kmz для каждой кнопки, но когда я нажимаю на кнопку, появляется сообщение Uncaught Reference Error: filename.kmz не определено.

Мысли на что я скучаю? Спасибо.

var portsbtn = document.getElementById("portsbtn");

portsbtn.addEventListener("click", function() {
    var ourRequest = new XMLHttpRequest();
    ourRequest.open('GET', 'jsonclean.json');
    ourRequest.onload = function() {
        var ourData = JSON.parse(ourRequest.responseText);
        renderHTML(ourData[23]);
    };
    ourRequest.send();
});

//WRITE HTML FROM JSON ON BUTTON CLICK


function renderHTML(data) {
    var htmlString = "";
    $('#aceCategory').empty();
    for (i = 0; i < data.length; i++) {

        htmlString += "<p class='categoryName'>" + data[i].category + "</p>" + "<tr>" + "<td class='feedDesc'>" + "<b>" + data[i].name +
            "</b>" + "<br>" + data[i].desc + "</br>" + "<br>" + "<input type='button' id='openBtn' style='border-radius: 25px; outline: none' value='Open Link' onclick='shell.openItem(" + data[i].url + ");'" + ">" + "</td>" +
            "</tr>"
        console.log(data[i].url)
    };
    aceFeedTable.insertAdjacentHTML('beforeend', htmlString)

}

1 Ответ

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

Я понял это. Код ниже.

       htmlString += "<p class='categoryName'>" + data[i].category + "</p>" + "<tr>" + "<td class='feedDesc'>" + "<b>" + data[i].name +
            "</b>" + "<br>" + data[i].desc + "</br>" + "<br>" + "<input type='button' id='openBtn' style='border-radius: 25px; outline: none' value='Open Link' onClick='openWindow(\"" + data[i].url + "\" )' >" + "</td>" +
            "</tr>"

    };
    aceFeedTable.insertAdjacentHTML('beforeend', htmlString)
}

function openWindow(url) {
    shell.openItem(url);
    console.log(url);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...