Electron Windows增加托盘悬浮框功能

背景 在做Electron Windows 桌面应用时候,做鼠标悬浮到托盘图标上时显示一个悬浮框(例如做消息提醒),但因为Windows没有提供托盘mouse-enter/mouse-leave事件,无法直接做这个功能,考虑到还有mouse-move事件,弄个间接的方式实现。 实现步骤 1、监听mo ...

海角在眼前 @ 2020/05/02

Electron npm install 常见错误(Linux)

Linux版本 Ubuntu 12.04 (32bit) 安装Git 生成ssh key 安装node 使用二进制文件 错误一:./node: cannot execute binary file 原因可能如下: 1、非root用户或者无执行权限 2、编译环境不同(程序由其他操作环境复制过来) PS ...

海角在眼前 @ 2019/08/06

Node.js C++ 插件学习指南

Node.js插件(addons) Node.js 插件是用 C++ 编写的动态链接共享对象,可以使用 require() 函数加载到 Node.js 中,且像普通的 Node.js 模块一样被使用。 它们主要用于为运行在 Node.js 中的 JavaScript 与 C/C++ 库之间提供接口。 ...

海角在眼前 @ 2019/07/25

在Electron中最快速预加载脚本

背景 在Electron打开新窗口的时候,提前加载一段JavaScript脚本,以此内置一些属性或接口给被打开的页面。之所以要以注入方式,而不是页面自己引用,原因是不想麻烦页面自行引用,不想修改旧有的业务逻辑。 方法一 一开始是想在打开BrowserWindow后,执行executeJavaScri ...

海角在眼前 @ 2019/07/10

Babel是什么?

要是官方文档写得好的话,我也许就不用自己做个笔记。 官方文档 Babel 是一个工具链,主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中。下面列出的是 Babel 能为你做的事情: 1、语法转换 2、 ...

海角在眼前 @ 2019/07/01

node、npm、chrome、v8、sandbox是什么?

这些东西有些比较常用,有些仅知道个名称,但无论是熟悉还是陌生的,要比较精确地解释这些东西,是有一定的难度,可这些东西对前端开发非常重要,还是需要有明确的概念。 PS:内容点到即止,不然一个东西一篇文章都写不完。 整体认识 在学习方法上,对于互有联系的东西,有一个整体的印象,比起一个个琐碎的认识更为重 ...

海角在眼前 @ 2019/06/29

构建Electron的常见问题(Mac)

背景 起因是产品的需求,需要更换Electron为底层平台,但因为会有不少定制化的功能要实现,必须自己实现此类内容,所以也就导致必须自己编译Electron的源代码。 整个构建过程,看Electron的构建文档就行了:https://github.com/electron/i18n/blob/mas ...

海角在眼前 @ 2019/06/28

读《三体Ⅲ · 死神永生》| 只有仁慈没有能力,也不过是个毁灭者

从剧情的支线数量和时间顺序来讲,第三部要比第二部更友善一些。它有一个女主角作为主线,让人能比较轻松地在脑海里构建整个故事脉络,且支线不多,不用记那么多上一次的断点;此外,在书序之后,有一页纪年对照表,这一页极其重要,因为这一部横跨了多个时间段,在阅读时很容易混淆了事件发生的时刻位置,它提供了一个简单 ...

海角在眼前 @ 2019/06/02

读《三体 Ⅱ · 黑暗森林》| 人能相互理解的前提是力量对等

如果说第一部还算是想象力可到达的边际,那么第二部的科学设定和情节就远超出了我能想象的范畴。刘慈欣先生用天马行空的想象力,将一部人类抵御外星文明入侵的抗争史赤裸地摆放在我们面前,虽然科幻,却合理自然,引人入胜。 不过,相较第一部,第二部对于读者是不那么友好的。第一部好歹有个王淼的人物做主线,推动剧情发 ...

海角在眼前 @ 2019/05/26

读《三体 Ⅰ》| 一个自我毁灭的物种

如果要分析《三体》,讲自己的看法,不简单说下故事脉络是不行的,不然太像是一个人的狂欢,而其他人却不知前情提要,不知你在欢腾什么。即便是写给自己看的,自己已经熟知书中情节,但写出个概括,也是有好处的,至少你知道自己看进去了些什么。 『 故事的主角是一个叫汪淼的科学家,他在研究课题到达一定阶段时,突然从 ...

海角在眼前 @ 2019/05/25

从零开始制作cli工具,快速创建项目脚手架

背景 在工作过程中,我们常常会从一个项目工程复制代码到一个新的项目,改项目配置信息、删除不必要的代码。 这样做的效率比较低,也挺繁琐,更不易于分享协作。 所以,我们可以制作一个cli工具,用来快速创建一个新项目的脚手架。如vue-cli就是一个非常好用的cli工具。 PS:cli 是一个全局安装的 ...

海角在眼前 @ 2019/05/11

读《苹果魔法》| 从个人英雄到卓越企业

这一类解析苹果公司成功因素的书籍很多,多数推崇乔布斯的个人魅力,极致专注的品质,非同凡响的创新理念,极其舒适的用户体验,以及他如何将公司变成一个卓越企业的历程。 成王败寇,成功的可以找出许多原因,分析得条条有理,失败的却要被当成反面教材,用来衬托与成功者的格局与见识差距。 这是常理,也是成功学常用的 ...

海角在眼前 @ 2019/04/21

浅谈微信开放平台

其实如果对微信公众平台有一定了解,那么一定不会将微信开放平台搞混。 公众/开放平台的误解 有人喜欢用受众不同,把它们区分为运营者或开发者的工具,公众平台是给运营者,而开放平台是面向开发者。 这种说明挺误人子弟的,难道公众平台的受众就不包括开发者吗?难道开放平台就没有运营者的使用价值? 强调受众来以此 ...

海角在眼前 @ 2019/03/03

浅谈微信公众平台

微信提供给第三方服务接入的方案,就是服务号、订阅号、小程序以及企业微信。 这些方案集中在微信公众平台,日趋完善,给微信提供无限活力,让微信的服务内容越发精彩丰富。 官方介绍 简述 因为官方的介绍是比较清晰,所以我并不会解析其中细节,而是考虑颗粒度比较大的问题,尝试提出我的问题并且解答,算是自问自答吧 ...

海角在眼前 @ 2019/03/02

为什么腾讯有QQ,还要推出微信?

在微信刚出现时候,很多人奇怪,为什么腾讯有QQ,还要推出微信? 一开始,我也认为它与QQ没有什么区别。有这种看法,是因为绝大多数时候,我都仅仅只使用即时聊天功能,微信上有的语音、视频、文字等等,这些在QQ也有,这并没有什么明显区别。 即使从现在微信官网的宣传语看,也容易让人疑惑。 『 微信,是一个生 ...

海角在眼前 @ 2019/02/23

如何用Nginx解决前端跨域问题?

前言 在开发静态页面时,类似Vue的应用,我们常会调用一些接口,这些接口极可能是跨域,然后浏览器就会报cross-origin问题不给调。 最简单的解决方法,就是把浏览器设为忽略安全问题,设置--disable-web-security。不过这种方式开发PC页面到还好,如果是移动端页面就不行了。 解 ...

海角在眼前 @ 2019/01/15

图片圆角并居中显示解决方案

1、图片圆角显示 例如(非常简单): HTML: CSS: 如果图片只为圆角,这种方式确实没问题,但如果还要加上居中的效果,这种方式就有问题,下面会说明。 2、图片居中显示(铺满父容器且不变形) 效果图如下: PS:为了实现上图居中的效果,单靠CSS是不行的,还需要JS处理。 例如: HTML: C ...

海角在眼前 @ 2018/11/25

《易经》初识

《易经》是伏羲最先想出来,只不过在当时还没有语言,他是用符号来描绘他所认为的宇宙万物本源。在商朝时,由周文王以文字撰写出来,所以这本经书也被称为《周易》。 我很早就听过一句,‘太极生两仪,两仪生四象,四象生八卦’,却没有理解当中的意思。原来这句话是出自于孔子的《易传》。 太极。在伏羲所画的符号中,太 ...

海角在眼前 @ 2018/10/23

读《动物农庄》

这本小说的篇幅很短,专心看一个钟也就可以看完。 以前我不看这么短的小说,总觉得篇幅少,所讲的东西也不会很多,那么所要描述的意境也不会多深刻。前天闲暇时,翻开kindle中藏书,看到我的收藏里有这么一本,书页少,就有了一种要完成任务的心态,点开了这本书。 书是讲一个动物庄园里,在某一时机,动物们将庄园 ...

海角在眼前 @ 2018/10/21

update layer tree导致页面卡顿

前因 今天检查一个vue页面问题,就是在切换Tab时候(某些win10电脑),页面会卡顿一段很长的时间,短则3秒,长则十几秒,这个体验非常糟糕,于是我着手寻找其中原因。 概况 这个vue页面的元素非常多,主要分为六个Tab内容,切换Tab也只是控制Tab内容的显隐。按道理这是非常简单的行为,不应该出 ...

海角在眼前 @ 2018/10/19