这是《每周杂记》的第11篇日常记录,欢迎留言讨论。
navigator.sendBeacon API,caniuse上看到已有94%的浏览器支持。其使用POST方式发送请求,支持跨域,允许cookie发送(第三方cookie的发送限制跟浏览器其他请求保持一致);是很合适的埋点/统计上报方式,不需要处理返回数据;异步,不阻塞。
proxy_hide_header Cache-Control;
不转发相应响应头。最近发现,个别页面,程序设置输出的响应头,总是在浏览器端看不到;最终运维发现是配置了上述的nginx规则。
flex布局中flex规则的默认值,IE 10 flex-shrink默认值是0,与规范不同。使用flex简写样式时,明确指定第二个参数,即flex-shrink的值。IE10/11上flex布局有不少bug,如果要兼容IE系列,可以先参考caniuse上的说明,规避部分已知问题。
如果inline-flex容器没指定width,指定了子项的宽度,默认flex-shrink为1的情形下,IE 11中发现,子项宽度会压缩空间,均分容器宽度;而其他浏览器会保留子项宽度不变,flex容器宽度为所有子项的宽度之和。可以通过设置flex-shrink:0达到表现一致的效果:保持内容宽度不变。
* {margin: 0; padding: 0;}ul {display: inline-flex;}li { width: 300px; height: 300px; background: #ccc; list-style: none; flex-shrink: 0;}li + li {margin-left: 10px;}<ul> <li>li> <li>li> <li>li> <li>li> <li>li>ul>使用了transform样式后,PC中字体可能变得模糊。要怎么避免呢?如果是用来平移位置,让浮层内容居中,基于此,现在的想法是不用transform来位移,直接用flex布局或其他方式来垂直居中内容,放弃也是一种选择
。请问大家是怎么处理这个问题呢?
静态web服务器,还在用nginx和apache吗?现在习惯用node快速启动一个服务了,记录一下http-server:
https://www.npmjs.com/package/http-server
尝试了一下用ts-migrate来将项目的js文件转成ts,个人感觉转换后的修改建议提示太多,不大习惯。还是倾向于混合ts/js,逐个把js文件转换过来,看上去整洁些。对于项目本身代码量不太大,更倾向于这种处理方式。