【问题标题】:Open all file types with Default OS program使用默认操作系统程序打开所有文件类型
【发布时间】:2019-12-31 23:46:23
【问题描述】:

有没有办法用默认的操作系统程序而不是 Electron 的内部程序来链接打开所有文件扩展名?

我的文件名是从 JSON 文件加载的。 (Value.url 是搜索过程中动态拉入的文件名)

我修改了下面的代码以将点击事件链接到 openBtnId,但现在我收到“未定义电子”。我有 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);
    });
}

【问题讨论】:

    标签: javascript html node.js electron external


    【解决方案1】:

    您可以为此使用shell.openItem(fullPath)

    const {shell} = require("electron");
    shell.openItem("/path/to/my/file");
    

    这必须在主进程或将 nodeIntegration 设置为 true 的 BrowserWindow 中完成。

    【讨论】:

    • 感谢@snwflk,但这不需要我对文件路径进行硬编码吗?我的脚本在搜索时使用 JSON 动态编写 html,然后单击按钮打开文件。文件名会根据搜索而变化,但它们都与输入按钮相关。
    • 这只是一个示例用法,当然您可以使用变量而不是字符串文字。另外,请尽量保持问题的原始形式,并针对以后出现的新问题提出新问题。
    • 我从输入按钮中删除了“onclick”并添加了这个功能,但是说电子没有定义。我非常感谢一个例子,因为我不确定我错过了什么。谢谢! $(document).on("click", "#openBtn", function() { Electron.shell.openItem(data[i].url);
    • 只是为了确定,它说“电子未定义”?而不是“未定义要求”?
    • 我将 nodeIntegration 设置为 true 并添加了 到我的 mainWindow html。现在它可以识别 shell.openItem,但是当它在 Google 地球中打开文件时,它会锁定我的应用程序,并弹出一个提示文件正在被另一个应用程序使用...
    【解决方案2】:

    我将 nodeIntegration 设置为 true 并添加了 window.$ = window.jQuery = require('jquery');到我的 mainWindow html。现在它可以识别 shell.openItem。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-20
      • 1970-01-01
      • 2016-06-20
      • 2014-11-12
      • 1970-01-01
      相关资源
      最近更新 更多