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 的博主来说,可以直接上传图片,不太需要担心存储的问题。对于独立博客的博主来说,存储图片的方式就比较多了。下面就根据我写博客的经验来简单谈谈图片存储的...

PHP PDO 操作 SQLite 数据库

SQLite 是一个单文件的离线 SQL 关系型数据库,它目前已经被集成到了很多编程语言中,可以直接使用。部分语言可能需要手动下载相关库使用。相比 MySQL 这一类数据库服务器来说,SQLite 不需要单独运行一个软件,数据都存储在一个 DB 文件中供...