web移动端开发指南

调用系统功能 <!– 拨打电话 –> <a href=”tel:10010″>拨打电话给10010</a> <!– 发送短信 –> <a href=”sms:10010″>发送短信给10010</a> <!– 发送邮件 –> <a href=”mailto:xxx@mail.com”>发送邮件给xxx</a> <!– 选择照片或拍摄照片 –> <input type=”file” accept=”image/*”> <!– 选择视频或拍摄视 …

nodejs 中使用 ES6 module

JavaScript的两种模块 CJS:Node.js 专用的 CommonJS 模块。 ESM:ES6 模块。 模块差异 CommonJS 模块使用require()加载和module.exports输出,ES6 模块使用import和export。 require()是同步加载,后面的代码必须等待这个命令执行完,才会执行。import命令则是异步加载,或者更准确地说,ES6 模块有一个独立的静态解析阶段,依赖关系的分析是在那个阶段完成的,最底层的模块第一个执行。 Node.js 的区分 Node.js 要求 ES6 模块采用.mjs后缀文件名。也就是说,只要脚本文件里面使用import或者 …

移动端 1px 线的实现

高清屏的1px线的实现,适用于 dpr:2 的情况。 实现思路 使用渐变实现,使用两种颜色填充 1px 宽内容 使用缩放实现,对 1px 高度线条进行0.5倍缩放 base64 编码实现 base64 编码嵌入SVG实现 HTML <html> <head>   <meta charset=“utf-8” />   <meta name=“viewport” content=“width=device-width, initial-scale=1.0, minimum-scale=1.0, m …

实用ES6代码片段

将字符串复制到剪贴板 const copyToClipboard = str => {   const el = document.createElement(‘textarea’);   el.value = str;   el.setAttribute(‘readonly’, ”);   el.style.position = ‘absolute’;   el.style.left = ‘-100%’;   document.body.appendChild(el);   co …

js 获取文件 MD5

每个文件的md5值都是唯一的,这也是很多下载网站,会告诉你原文件的md5是多少,然后下载完毕让你自行去对比是否一致,以检验文件是否是完整的。校验md5亦可实现所谓的”秒传“功能。 使用到的类库 Spark-MD5 function getMD5(file, callBack) {   /*   *     file 选取的文件   *     callBack 回调函数可以返回获取的MD5   */   let fileReader = new FileReader(),     blobSlice = File.prototype.mozSlice || File.prototy …

psql 多 schema 更新表结构

EXECUTE — 执行一个预备语句 EXECUTE name [ ( parameter [, …] ) ] 描述 EXECUTE被用来执行一个之前准备好的语句。 由于预备语句只在会话期间存在,该预备语句必须在当前会话中由一个更早 执行的PREPARE语句所创建。 如果创建预备语句的PREPARE语句指定了一些参数, 必须向EXECUTE语句传递一组兼容的参数,否则会 发生错误。注意(与函数不同)预备语句无法基于其参数的类型或者数量重载。 在一个数据库会话中,预备语句的名称必须唯一。 参数 name 要执行的预备语句的名称。 parameter 给预备语句的参数的实际值。这必须是一个能得 …

Threejs 性能优化之(多实例渲染 and 合并)

InstancedMesh是R110之后出现 官网简介: A special version of Mesh with instanced rendering support. Use InstancedMesh if you have to render a large number of objects with the same geometry and material but with different world transformations. The usage of InstancedMesh will help you to reduce the number of dr …

JavaScript 反控制台调试

一、开发者工具检测(Chrome) 这项技术利用的是div元素中的id属性,当div元素被发送至控制台(例如console.log(div))时,浏览器会自动尝试获取其中的元素id。如果代码在调用了console.log之后又调用了getter方法,说明控制台当前正在运行。 let div = document.createElement(‘div’); let loop = setInterval(() => {   console.log(div);   console.clear(); }); Object.defineProperty(div,&#8220 …