javascript - 使用默认操作系统程序打开所有文件类型
问题描述
有没有办法用默认的 OS 程序而不是 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);
});
}
解决方案
你可以使用shell.openItem(fullPath)。
const {shell} = require("electron");
shell.openItem("/path/to/my/file");
这必须在主进程或nodeIntegration
设置为true
.
推荐阅读
- java - 由于“JDK 不兼容”,无法创建 ADM 设备
- react-native - 如何在 React Native 中使用组件导航
- go - 如何为 grpc 添加静态(html,js)文件
- macos - 在 Mac 上编译 LaTex 文档时出现无效字体错误
- alexa-rank - 移动APP流量与网站同步(使用API)
- php - 每个目录和子目录中的可疑 .htaccess 文件
- c# - 正则表达式捕获引号内和带/不带空格的数字
- docker - 在 docker 容器中的 apache 中为 symfony 项目设置虚拟主机
- laravel - Laravel 7,在 URL 中保留查询参数
- javascript - 如何运行函数并将输出作为图像 src javascript 返回