说明:该例子主要实现把输入框中的文字保存到本地的文本文档中。

在main中添加几句代码

const ipcMain = electron.ipcMain;
const dialog = electron.dialog;
ipcMain.on("openDir", function (e) {
var fileName = dialog.showOpenDialog(mainWindow, {title: "选择一个目录", properties: ["openDirectory"]});
e.returnValue = fileName ? fileName : null;
});

这段代码防止文件没有名字而出错

html代码

 <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
</head>
<body>
<button id="btn-select-dest-dir">选择保存的目录</button>
<form id="form-data">
<div>
<textarea name="txt" style="width: 300px;height: 200px" required="required"></textarea>
</div>
<div>
<input type="submit" value="保存">
</div>
</form>
</body> <script>
// You can also require other files to run in this process
require('./renderer.js')
</script>
</html>

renderer代码

 // This file is required by the index.html file and will
// be executed in the renderer process for that window.
// All of the Node.js APIs are available in this process.
const {ipcRenderer}=require("electron");
const fs = require("fs"); class Renderer {
constructor() {
this.btnSelectDestDir = document.getElementById("btn-select-dest-dir");
this.formSaveData = document.getElementById("form-data"); this.addListeners();
} addListeners() {
var self = this; this.btnSelectDestDir.onclick = function () {
var files = ipcRenderer.sendSync("openDir"); if (files && files.length) {
self.destDir = files[0];
}
}; this.formSaveData.onsubmit = function (e) {
e.preventDefault(); if (!self.destDir) {
alert("请选择要保存的目录");
return;
} var destFile = `${self.destDir}/data.txt`;
fs.writeFile(destFile, this["txt"].value, function (err) {
if (!err) {
alert(`成功保存文件${destFile}`);
} else {
alert("无法保存文件");
}
})
};
}
}
new Renderer();

运行即可

补充:在main.js里面的

可以修改运行文件的路径。。。

electron小例子的更多相关文章

  1. springmvc入门的第一个小例子

    今天我们探讨一下springmvc,由于是初学,所以简单的了解一下 springmvc的流程,后续会持续更新... 由一个小例子来简单的了解一下 springmvc springmvc是spring框 ...

  2. java即时通信小例子

    学习java一段时间了,今天写来一个即时通信的小例子练手在其过程中也学到了一些知识拿出来和大家分享,请路过的各位大神多多赐教... 好了下面讲一下基本的思路: 首先,编写服务器端的程序,简单点说吧就是 ...

  3. Runtime的几个小例子(含Demo)

    一.什么是runtime(也就是所谓的“运行时”,因为是在运行时实现的.)           1.runtime是一套底层的c语言API(包括很多强大实用的c语言类型,c语言函数);  [runti ...

  4. bootstrap 模态 modal 小例子

    bootstrap 模态 modal  小例子 <html> <head> <meta charset="utf-8" /> <title ...

  5. INI配置文件分析小例子

    随手写个解析INI配置字符串的小例子 带测试 #include <iostream> #include <map> #include <string> #inclu ...

  6. JavaScript小例子:复选框全选

    JavaScript小例子:复选框全选 这只是一个小例子,很简单,但是这个功能还是很常用的: 实现后效果如图: JavaScript代码: <script type="text/jav ...

  7. 【zTree】 zTree使用的 小例子

    使用zTree树不是第一次了  但是 还是翻阅着之前做的 对照着 使用起来比较方便  这里就把小例子列出来   总结一下使用步骤 这样方便下次使用起来方便一点 使用zTree树的步骤: 1.首先  在 ...

  8. js小例子(标签页)

    运用js写的一个小例子,实现点击不同的标签出现不同的内容: <!DOCTYPE html> <html> <head> <meta chaset=" ...

  9. sbrk与brk的使用小例子

    sbrk() 和 brk() - Unix的系统函数   sbrk()和brk() 系统的底层会维护一个位置,通过位置的移动完成内存的分配和回收.映射内存时 以一个内存页作为基本单位.   void* ...

随机推荐

  1. 编译android源码官方教程(3)下载代码

    https://source.android.com/source/downloading.html Downloading the Source IN THIS DOCUMENT Installin ...

  2. Xcode性能优化2

    使用Xcode Analyze进行代码静态检查 1,value stored to 'XX' is never read 改成: NSDate *date = [formatter dateFromS ...

  3. C#与C++(结构体内对象指定大小)

    C++结构体:struct DATAAREA { // 报警协议数据区结构 char szAlarmNo[20]; // 报警编号(必填) char szUserNo[10]; // 用户编号(必填) ...

  4. SqlSever基础 rtrim函数 除去字符串的右边的空格,左边中间的不管

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  5. van Emda Boas

    van Emda Boas维护了一个整数集合[0,Max)(无重复),其中Max必须等于2的正整数次幂.它支持以下操作:(1)插入一个数字;(2)删除一个数字:(3)询问某一个数字在不在这个集合中:( ...

  6. C#中关键字ref修饰类对象或结构体[转]

    using System; using System.Collections.Generic; using System.Text; namespace CSharpTest { struct Dog ...

  7. [SAP ABAP开发技术总结]OK_CODE

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  8. So easy Webservice 2.WebService介绍

    WebService概念介绍: Web Service是一项新技术, 能使得运行在不同机器上的不同应用无须借助附加的.专门的第三方软件或硬件, 就可相互交换数据或集成.依据Web Service规范实 ...

  9. day20 FORM补充(随时更新),F/Q操作,model之多对多,django中间件,缓存,信号

    python-day20 1.FROM生成select标签的数据应该来源于数据库. 2.model 操作 F/Q  (组合查询) 3.model 多对多操作. 4.中间件 :在请求到达url前先会经过 ...

  10. SQL Server 2005 中的同义词

    From : http://blog.csdn.net/itblog/article/details/752881 =============创建同义词 可以为下列对象类型创建同义词: 程序集 (CL ...