javascript - 使用默认操作系统程序打开所有文件类型

标签 javascript html node.js electron external

有没有一种方法可以链接以使用默认的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/

相关文章:

html - CSS Html 有序列表 - 数字下的文本

javascript - jQuery 淡入 OnLoad?

javascript - Node.js 生成与执行

node.js - Bower 为什么显示 ENOTFOUND

javascript - JQuery:使用自定义 .load() 将 HTML 插入相应的选择器

Javascript:使用按钮 Onclick 函数创建多个 Li 项目

javascript - typescript /javascript : How to do it that import all json from specific dir

javascript - 等值线图上的 D3js HTML 工具提示

javascript - 使用 getUserMedia 访问设备摄像头

javascript - Sequelize 不更新表中的一行