有没有一种方法可以链接以使用默认的OS程序而不是Electron内部的打开所有文件扩展名?
我的文件名是从JSON文件加载的。 (Value.url是在搜索过程中动态插入的文件名)
我修改了下面的代码以将click事件链接到openBtnId,但现在我收到的是“Electron 未定义”。我有const shell = require('electron')。shell;在我的mainJS中。
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' >" + "</td>" +
"</tr>";
}
aceFeedTable.insertAdjacentHTML('beforeend', htmlString)
$(document).on("click", "#openBtn", function() {
electron.shell.openItem(data[i].url);
});
}
最佳答案
您可以为此使用shell.openItem(fullPath)。
const {shell} = require("electron");
shell.openItem("/path/to/my/file");
这必须在主进程中或在
nodeIntegration
设置为true
的BrowserWindow中完成。
关于javascript - 使用默认操作系统程序打开所有文件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59437868/