主页

浏览器播放画中画

chrome70+ document.pictureInPictureElement ==null,非画中画模式,进入画中画,video.requestPictureInPicture() document.pictureInPictureElement=video,画中画模式,退出画中画,document.exitPictureInPicture(); video监听enterpictureinpicture,leavepictureinpicture事件定义额外行为 参考浏览器播放画中画

阅读更多

tree shaking

Tree Shaking 可以用 来剔除 JavaScript 中用 不上的死代码。它依赖静态的 ES6 模块化 语 法,例如通过import和export导入、导出。 需要注意,要让 Tree Shaking 正常工作的前提是,提交给 Webpack的JavaScript代码必须采用了ES6 的模块化语法,因为 ES6模块化语法是静态的(在导入、导出语句中的路径 必须是静态的字符串,而且不能放入其他代码块中),这让 Webpack 可以简单地分析出哪些 export 的被 import 了。如果采用了 ES5 中的模块化,例如 module.export={ … }、 require (x+y)、 if (x) {require (’./util ’)},则 Webpack 无法分...

阅读更多

puppeteer

Environment Variables Puppeteer 寻找某些环境变量来帮助其操作。 如果 puppeteer 在环境中没有找到它们,这些变量的小写变体将从 npm 配置 中使用。 HTTP_PROXY, HTTPS_PROXY, NO_PROXY - 用于下载定义和运行 Chromium 的 HTTP 代理设置。 PUPPETEER_SKIP_CHROMIUM_DOWNLOAD - 请勿在安装步骤中下载绑定的 Chromium。 PUPPETEER_DOWNLOAD_HOST - 覆盖用于下载 Chromium 的 URL 的主机部分。 PUPPETEER_CHROMIUM_REVISION - 在安装步骤中指定一个你喜欢 puppeteer 使用的特定版本的 Chromi...

阅读更多

遇到的问题记录

正常的请求,405 Method Not Allowed 首先确认是否真的不允许所用方法,然后看一下content-type 是不是正常; ajax 302 当服务器将302响应发给浏览器时,浏览器并不是直接进行ajax回调处理,而是先执行302重定向——从Response Headers中读取Location信息,然后向Location中的Url发出请求,在收到这个请求的响应后才会进行ajax回调处理。响应貌似必须是200才会处理,如果还是302,会再次跳转; 浏览器在遇到301,302,303时,会把post方法替换成get,忽略post的数据体,自动重发一次请求; 307浏览器不会将post改为get. position:fixed和absolute类似,如果不写方...

阅读更多

Elasticsearch

Elasticsearch 是一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎。 Elasticsearch是面向文档型数据库,一条数据就是一个文档,用JSON作为文档序列化的格式。 关系数据库 ⇒ 数据库 ⇒ 表 ⇒ 行 ⇒ 列(Columns) Elasticsearch ⇒ 索引 ⇒ 类型 ⇒ 文档 ⇒ 字段(Fields) /{index}/{type}/{id}

阅读更多