HTML API + CSS 控制页面打印内容和样式

本周来了一个新的需求,需要前端生成打印内容,每一项数据占据一张 A4 纸,选择多项就是分多张打印,所以需要打印指定内容区域,并且使用 page-break 来控制打印区域的分页。
以前就只使用 CSS 控制过打印时样式,隐藏一些不需要打印的区域,还尝没有试过打印指定区域内容,并且控制打印内容强制分页,所以记录一下。

阅读全文

总是记不清的重排/回流(reflow)和重绘(repaint)

重排会导致重绘,重绘不会导致重排 。

中文环境下面的 重排 会有另外一种称呼方式叫做 回流。以前一直不理解为什么重排叫回流(直译的 reflow),导致我在记忆的过程中我总是会把他们混在一起,分不清回流是重排还是重绘。

他们对应的含义我倒是分的还是比较清楚的。简单来说就是,牵扯页面布局的页面更新是重排,重绘就只是一些不影响布局的样式更新……

阅读全文

页面的缓存到底应该怎么做?

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />

赶巧不巧,正好在假期第一天遇到了修改接口地址的问题 —— 节前最后一个工作日后端兄弟自己修改了编译后的 Js 文件中的接口地址,但是并没有生效,只不过当时没发现,今天电话过来问应该怎么处理,奈何电脑没带在身边,只能让他修改了接口地址之后重新编辑被修改的 Js 文件名中的 hash 值随便改一位,同时修改一下 index.html 中的引入路径。
可是没多久又发来消息说,不行还是请求旧地址,没有被修改。我怀疑是页面被缓存了,于是让他确认了一下页面源代码中是否有 no-cachemeta ,他说有,但是页面还是被缓存了,看到引入 Js 文件的路径还是他修改前的旧路径。
于是我就纳闷了,好像浏览器跳过了设置的机制,并没有重新请求服务器获取最新的 index 文件。

阅读全文

网页链接里的 noopener、noreferrer 和 nofollow

之前在一篇 帖子 中看到了一个名词 【阻断权重传递】,进而去了解一下这个名词。

阅读相关资料的过程中,收集了3个 no 开头的关键词(noopenernoreferrernofollow),并且作为相似内容整理成这篇笔记。

太长不看版:

  • noopener: 使用target="_blank"所打开的页面,将无法获取 window.opener 对象。
  • noreferrer: 使打开的页面无法获取 document.referrer 信息。
  • nofollow: 表明对该链接不认可,不传递权重。

如果有兴趣可以接着看下去

阅读全文

Canvas识别图片内容并使用用户头像拼接

今天 12 月了,本来应该开始做外包的项目,但是好歹不好的长智齿了,
下午去拔了牙之后看着电脑发呆了一个下午,看来真的麻药影响 🧠 脑子。
所以,先写篇文章醒醒脑….

前天初步实现了下使用 canvas 来识别图片内容,今天就把它记录下来。
毕竟 canvas 这部分的内容是真的不懂,现学现卖,欢迎吐槽。📧 MailTo

阅读全文

文本开头空格不显示问题

在 html 中手动输入多个空格,在页面解析的时候都会变成一个空格,
如果在开头甚至一个空格都不会显示

但就是一定要求在开头/中间显示多个空格,这个问题怎么解决呢?

阅读全文

简单设置Video标签的播放倍速

B 站 看视频教学的时候,发现最快只有 2 倍速,

我觉得太慢了,在百度之后发现有 video 标签有 playbackRate 属性可以设置倍速。

阅读全文