分类 Web 下的文章

很久不用 npm 了。。。

今天拉了一个新项目跑跑,结果第一步 npm install 就报错了:

$ npm install
npm ERR! code CERT_HAS_EXPIRED
npm ERR! errno CERT_HAS_EXPIRED
npm ERR! request to https://registry.npm.taobao.org/v-select2-component failed, reason: certificate has expired

原因是 certificate has expired,也就是 SSL 证书过期了。

打开 https://registry.npm.taobao.org/ 一看,果然,不过跳过(忽略证书错误)之后,直接 301 跳转到 https://registry.npmmirror.com/ ,搜了一下,原来官方早就宣布过了。。。

以后得换了:

npm config set registry https://registry.npmmirror.com

要根据客户端的主题模式切换网站的图标,你可以使用媒体查询(Media Query)来检测客户端是否启用了暗色主题。然后,你可以在不同的主题模式下加载相应的图标。以下是一个简单的例子:

1. 准备两个图标:

  • 一个用于亮色主题的图标(例如,light-icon.png)
  • 一个用于暗色主题的图标(例如,dark-icon.png)

- 阅读剩余部分 -

引入 js

https://res2.wx.qq.com/open/js/jweixin-1.6.0.js 

自定义“分享给朋友”及“分享到QQ”按钮的分享内容

wx.ready(function () {   //需在用户可能点击分享按钮前就先调用
  wx.updateAppMessageShareData({ 
    title: '', // 分享标题
    desc: '', // 分享描述
    link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
    imgUrl: '', // 分享图标
    success: function () {
      // 设置成功
    }
  })
});

- 阅读剩余部分 -

大多数计算机语言,有且仅有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的none,Ruby语言的nil。

有点奇怪的是,JavaScript语言居然有两个表示"无"的值:undefined和null。这是为什么?

- 阅读剩余部分 -

jSignature 是一个 jQuery 插件,它简化了在浏览器窗口中创建签名捕获字段的过程,允许用户使用鼠标、笔或手指绘制签名。

jSignature 将签名捕获为笔划的矢量轮廓。 虽然 jSignature 也可以导出大位图 (PNG),但提取签名的高度可扩展的笔画移动坐标(也称为矢量图像)可以使签名渲染更加灵活。

- 阅读剩余部分 -

转自简书,原文已不可见。

vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。

如果不想要很丑的 hash,我们可以用路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面。

- 阅读剩余部分 -

做商品详情页的时候,发现详情图多张的情况下,即使设置了 margin:0;padding:0 也不能让两张图片上下之间没有空隙。

原因是 img 标签是行内元素,默认的图片对齐方式为 vertical-align: baseline;,即基线对齐。baseline 对其方式导致图片并不是与 div 的真实底部对齐,而是与文基线对齐。文基线就是字母 x 的下边缘,即使没有文字,也会有空隙。

解决办法

- 阅读剩余部分 -

国内大厂的 APP 如微信、支付宝、抖音、京东等等都搞了自己平台的小程序,本质上其实都是一种集成了各自平台能力的 Web 应用。国外没有这种东西是因为行业更加规范,没必要多此一举,因为 PWA 完全满足需求了。

PWA 简介

渐进式 Web 应用(Progressive Web App,PWA)是一个使用 web 平台技术构建的应用程序,但它提供的用户体验就像一个特定平台的应用程序。

它像网站一样,PWA 可以通过一个代码库在多个平台和设备上运行。它也像一个特定平台的应用程序一样,可以安装在设备上,可以离线和在后台运行,并且可以与设备和其他已安装的应用程序集成。

- 阅读剩余部分 -