在浏览器和 Node.js 使用 WebSocket 2023年10月26日 Mr. Ma 1493 WebSocket 是一种网络通信协议。WebSocket 只需要建立一次连接,客户端和服务端之间就可以很方便的发送数据,最主要是服务端也可以主动发送数据,不需要每次都由客户端先发起请求。HTTP 是一种单向通信方式,客户端发送请求,服务端响应回复,然后... 阅读全文 0 评论
JavaScript 浏览器获取经纬度坐标和海拔高度 2023年04月22日 Mr. Ma 1712 iPhone 自带的指南针软件除了能显示方向外也能显示经纬度和海拔高度,如果有网络的话,还能显示中文位置信息,但是在 iOS 15 的一个版本更新中,苹果去除了经纬度和海拔高度,指南针只能显示方向和中文位置信息。国内的地图软件也只能显示中文的位置信息,不... 阅读全文 0 评论
Canvas 实现照片涂鸦 2022年09月27日 Mr. Ma 1751 canvas 是 HTML5 中的一个元素,它能用来绘制各种图形、文字,目前前端的很多图表库也会用到 canvas 来绘制。canvas 除了绘制图形外,也能用来处理照片,我用过的一个图片压缩库也是用 canvas 实现的。我之前写过 使用 canvas... 阅读全文 0 评论
JavaScript 常用日期时间函数片段 2022年09月07日 Mr. Ma 1688 PHP 提供了很多日期时间函数,可以很方便的操作日期时间。JavaScript 也提供了 Date 对象来操作日期时间,但相比 PHP 来说,还是要麻烦一些,很多功能只能自己编写实现。下面是我项目中用过的一些操作日期时间的代码片段,这里把它封装成函数,方... 阅读全文 0 评论
前端 JavaScript 打包和解压 Zip 文件 2022年07月02日 Mr. Ma 4220 最近写了个网页版的文件批量处理工具,在本地浏览器端处理完成后只能生成多个下载链接导出文件,比较麻烦,要是能打包文件,一次导出就会方便一些。一般大多数后端语言都会内置有处理 Zip 文件的库,PHP 有 ZipArchive 库,Node.js 有 zli... 阅读全文 0 评论
网页内容禁止拷贝的实现方式 2022年06月25日 Mr. Ma 1228 一些博客网站和写作平台,当你准备拷贝内容的时候可能会发现文字无法被选中,也无法使用 Ctrl + C 或右键拷贝。实现禁止拷贝的方式也很简单,主要就是禁止选择内容,禁止弹出右键菜单,触发拷贝事件的时候阻止拷贝。下面就使用 CSS + JS 实现禁止拷贝,... 阅读全文 0 评论
JavaScript 使用 Axios 发送 GET 和 POST 请求 2022年06月12日 Mr. Ma 3037 Axios 是一个基于 Promise 的网络请求库,它可以用于浏览器端和 Node.js。在浏览器端使用的是 XMLHttpRequest 来发送请求,在 Node.js 使用的是 HTTP 模块。因为 Axios 使用到了 ES6 以上的语法和特性,... 阅读全文 0 评论
JavaScript 实现图片框选裁剪 2022年06月08日 Mr. Ma 2617 很多网站和 App 在上传头像的时候,如果图片的长宽比不一样,就需要选择区域裁剪为正方形。在很早以前,基本上只能在前端选择裁剪区域,发到服务器裁剪,现在随着浏览器的功能越来越强大和用户设备性能的提升,基本上可以在前端裁剪完再上传。这里简单实现图片的框选和... 阅读全文 0 评论
JavaScript 浏览器调用摄像头拍摄视频 2022年05月24日 Mr. Ma 2322 之前写了 浏览器调用麦克风录制音频 和 调用摄像头拍摄照片 ,这里就继续来调用摄像头拍摄视频。拍摄视频和录制音频的方法其实是差不多的,使用的也是 MediaRecorder 媒体录制接口,录制音频只需要申请麦克风,录制视频需要同时申请麦克风和摄像头。下面... 阅读全文 0 评论
JavaScript 浏览器调用摄像头拍摄照片 2022年05月20日 Mr. Ma 2612 调用摄像头拍照对于网页来说用的不多,在手机上 file 表单直接就可以选择相机拍照,PC 上也是直接选择文件上传。最近对于调用传感器之类的比较感兴趣,之前写了调用麦克风录音,这里继续来写调用摄像头。拍摄照片下面简单实现预览摄像头画面、拍照、显示拍摄的照片... 阅读全文 0 评论