Mr. Ma 发布的文章

Mr. Ma

Electron 最小化到系统托盘

很多需要长时间在后台运行的软件,例如 QQ、微信 和很多下载工具在退出的时候默认都是最小化到系统托盘,退出需要在系统托盘菜单退出。最小化到系统托盘相比直接最小化的优势就是在切换窗口的时候不会干扰,在任务管理器的基础页也不会显示进程。编写系统托盘系统托盘需...

Electron 右键上下文菜单

在 Electron 中默认右键是不会弹出菜单的,就连 input 和 textarea 这一类输入框也不会弹出菜单。右键菜单可以使用 HTML 制作,也可以使用原生菜单,原生菜单的键盘可访问性要好一些。创建菜单Electron 的上下文菜单需要在渲染进...

Electron 编写菜单栏

在很多桌面应用程序的顶部都有一个菜单栏,把一些功能入口放到菜单栏的菜单中可以使软件界面更简洁。Electron 可以支持原生菜单栏,也可以用 HTML 来制作菜单栏,不过原生菜单栏在键盘操作和可访问性方面都要更好。禁用菜单Electron 默认会显示一个...

PHP 压缩和解压文件

我的服务器每天都会分割日志,这些按天分割的日志为了方便管理和下载就需要按月归档,打包为压缩包。这里就简单写一下 PHP 压缩和解压文件。我用来压缩和解压文件的库是 ZipArchive ,这是 PHP 内置的一个用来压缩和解压 ZIP 文件的库。压缩下面...

Node.js 操作 SQLite 数据库

SQLite 是一个单文件的离线关系型 SQL 数据库,它的文件都存储在一个 DB 数据文件中,相比 MySQL 这种数据库服务器来说,SQLite 更方便迁移,对于内存小的服务器来说,使用 SQLite 也是一个不错的选择。SQLite 也可以集成到桌...

JavaScript 操作元素的 class

jQuery 可以很方便的使用 addClass 和 removeClass 这两个方法来添加和删除元素的 class,而且基本不会遇到兼容性问题。原生的 JavaScript 操作 class 就会麻烦一些。我开发博客主题使用 classList 操作...

JavaScript 浏览器本地语音合成

目前大多数网页的语音合成都是由后端合成,然后前端播放后端合成的音频文件。这种方式的好处就是合成的声音相比一般的语音库要真实一些,坏处就是需要等待的时间会比较长,而且在内容较多的情况下可能会合成失败。现在前端浏览器也可以直接调用用户设备上安装的语音库来合成...

个人独立博客的图片管理

大多数博客的文章中应该都少不了图片。对于使用大公司提供的博客服务例如 Blogger、新浪博客、CSDN 的博主来说,可以直接上传图片,不太需要担心存储的问题。对于独立博客的博主来说,存储图片的方式就比较多了。下面就根据我写博客的经验来简单谈谈图片存储的...