在本站页面打开浏览器控制台,可以看到一些提示信息:
2 个提示:避免使用 document.write()
2 个提示:解析器因 document.write() 被阻塞
Read More →
避免使用 document.write()
今天有人报告我的 pixiv 图片下载器在某些情况下,无法保存某个图片。我去检查了下,发现这个作品(pid=73111615)最后的空格暗藏玄机。
复制这个空格,粘贴到别的地方,把光标放到最后,然后按键盘的 ← 箭头,会发现需要按 4 次才能到这个空格的前面。
复制到浏览器控制台,发现确实是 4 个字符。
经过检查,第一个空格是普通的空格,后面 3 个是特殊字符,它并不会显示出来。浏览器控制台里那时应该是做了特殊处理。这玩意放在代码里,ESLint 报错说这是“irregular whitespace”,不规则的空白。
最后我复制它的 Unicode 码 \u200b
,把它替换掉了。
特殊字符防不胜防啊,不知道以后还会不会遇到别的来捣乱。
不规则的空白
今天看到的一个算法,挺有意思。
假设有五个选项,在 100 个人里,有 8 个人选择第一项,22 个人选择第二项,26 个人选择第三项,26 个人选择第四项,18 个人选择第五项。如何用程序模拟?
Read More →
JavaScript 按概率选择项目
去年我做了个 Vue.js 的待办事项,是 PC 上的样式,现在又做了个待办事项,算是手机上的。依旧可以设置背景。
之前 pc 上的那个,闹钟有兼容性问题,而手机上这个,不再播放音乐来提醒了,改为使用浏览器的通知。但这需要 HTTPS 和浏览器的支持,所以上面的在线体验是没有通知的。
其他详见 GitHub 里的说明~
Vue.js 待办事项 Todolist 之 2
DEMO:选取颜色可以改变网页的背景颜色。
我在网上找到了个 JavaScript 拾色器(原网址),觉得比较小巧方便,就花了一些时间对它进行修改和优化。
当我觉得已经搞完的时候,才醒悟过来这个拾色器没有灰度,无法选取灰色、黑色。这使它的实用性大打折扣,但这也是没办法的事。(原因下面再讲)
姑且放个下载吧(内附 demo 和使用说明):
一个 JavaScript 拾色器
美桌网(http://www.win4000.com/)是一个壁纸图片网站,我想下载它的“二次元桌面壁纸”专题里的所有图片。但是这个专题有 5 个列表页,里面有 120 个图册,每个图册又有 8 张左右的图片,合起来有近千张图片。所以我写了个脚本用来自动抓取美桌网的壁纸图片网址。
该脚本可以在美桌网的任意列表页使用,就是图片列表底下有页码的:
在列表页打开浏览器控制台,复制下面的脚本内容粘贴进去,按 enter 执行。等执行完毕,会打开一个新窗口输出图片网址。
Read More →
美桌网壁纸批量下载工具
JavaScript 的 Fetch
方法可以在大部分场景取代传统的 XMLHttpRequest
请求,或者 jQuery 的 $.ajax
方法。但是 Fetch
如何进行错误处理呢?
Read More →
Fetch 的错误处理
今天我需要把两个 js 文件进行代码合并,以及处理冲突。因为某些原因,Git 不能处理(不在一个仓库而且文件名不同)。VS Code 虽然有 diff 工具,却只能比较不能合并。所以我需要找个其他软件,这就是 DiffMerge。
DiffMerge 是一个跨平台的文件对比与合并工具。它的合并是 3 路合并,因为 2 路的话,版本控制工具会选择其中一个,不会产生冲突。当代码达到 3 路的时候才会引起冲突。
我这是特殊情况,把两个仓库里的两个相似文件当作冲突来处理。
使用方法如下:
Read More →
代码比较与合并工具 DiffMerge
Javascript 的 getElementById
通过 id
来选择一个元素,而 querySelector
更加灵活,不局限于 id
。那么在实际使用上有什么区别呢?
Read More →
getElementById 和 querySelector 的区别
昨天 Tomoki 问我能不能给 uraaka-joshi.com 做个抓取工具,我就简单的做了一下。这是一个用户脚本(油猴脚本),需要安装。
安装地址
如果不知道怎么用,参考这个网站的首页教程。
uraaka-joshi.com 需要翻墙打开,汇总了 twitter 上女生发的各种色色的自拍照。不过尺度都不太大,我最喜欢的地方大概是在 顔出し(ベータ) 板块看咪咪。
这个工具界面很简单,在列表页里会出现一个“开始下载”按钮,点击之后从这一页开始抓取 100 页,然后把图片 url 和视频 url 显示出来,可以复制进行下载。
部分预览:
Read More →