繁体   English   中英

电子不会从 JSON 打开文件

[英]Electron won't open file from JSON

我正在尝试使用 onclick='shell.openItem('filename') 和由 JSON 填充的文件名。 当我 console.log(data[i].url) 它为每个按钮返回正确的 kmz 文件时,但是当我单击按钮时,它显示未捕获的引用错误:未定义文件名.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)

}

我想到了。 代码如下。

       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);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM