- 博客(12)
- 收藏
- 关注
原创 RequireJS
What is RequireJS实现CommonJS规范的API是同步加载模块的,而实现AMD规范的API是则是异步加载模块。所以理论上来说,AMD规范的非阻塞加载更加适合浏览器端。而RequireJS就是AMD规范的最好实现。RequireJS 是一个JavaScript模块加载器。Why RequireJS异步“加载”: 通常网站都会把script脚本的放在html的最后,这样就可以避免浏览器执行js带来的页面阻塞。使用RequireJS,会在相关的js加载后执行回调函数,这个过程是异步
2021-01-20 15:15:53
147
原创 socket.io
socket建立连接var socket = io.connect();//与服务器进行连接socket.emit('event', data);//向服务器发送一个名为event的事件和数据datasocket.on('event', function () {...});//监听服务器返回的事件,对返回的数据进行处理命名空间命名空间着实是一个非常实用好用的功能。我们可以通过命名空间,划分出不同的房间,在房间里的广播和通信都不会影响到房间以外的客户端。在服务端,通过of("")的方式来划
2021-01-20 15:15:28
275
原创 WebRTC
创建WebRTC流程A B <!--创建本地媒体流--> navigator.mediaDevices.getUserMedia(constraints).then(function (stream) { //绑定本地媒体流到video标签用于输出 $('.localVideo').attr('src', URL.createObjectURL(stream)); localStream = stream; })A --onca
2021-01-20 15:14:50
2783
2
原创 node.js
在命令行模式下,可以执行node进入Node交互式环境,也可以执行node hello.js运行一个.js文件node --use_strict calc.js给node传递–use_strict参数来开启严格模式。模块//hello.js'use strict';var s = 'Hello';function greet(name) { console.log(s + ', ' + name + '!');}module.exports = greet;//main.j
2021-01-20 15:14:14
66
原创 代码整洁之道
第一章 整洁代码代码逻辑直截了当,减少依赖关系,依据某种分层战略完善错误处理代码,性能调至最优能通过所有测试;没有重复代码;体现系统中的全部设计理念;包括尽量少的实体,比如类、方法、函数等。第二章 有意义的命名名副其实:变量、函数或类名称能告诉你,它为什么会存在,它做什么事。应该怎么用。避免误导:避免使用与本意相悖的词;避免使用专有名词;避免使用不同之处较小的名称有意义的区分使用读得出来的名称使用可搜索的名称避免使用编码避免思维映射:不应当让读者在脑中把你的名字翻译为他们
2021-01-20 15:13:01
241
原创 HTML5
表单inputemail在提交表单时,会自动验证 email 域的值。E-mail: <input type="email" name="user_email" />url在提交表单时,会自动验证 url 域的值。Homepage: <input type="url" name="user_url" />number只能输入数字和ePoints: <input type="number" name="points" min="1" max="
2021-01-20 15:12:07
108
原创 浏览器存储WebSQL和IndexedDB
客户端(浏览器端)存储技术1. cookies: 由服务端发送给客户端,客户端存储下来,然后在随后让请求中再发回给服务端;增加了文档传输的负载,只能存储少量的数据 4KB,只能存储字符串2. Web Storage API(localstorage\sessionstorage):能存储更多数据 2.5MB~10MB;只能存储字符串数据 3. 浏览器端数据库:能够处理更复杂和结构化的数据,更大的存储空间,对其有更多的交互控制浏览器提供的本地数据库WebSQL Database(规范被废弃)所有
2021-01-20 15:09:54
566
原创 CSS备忘录
换行p { white-space:nowrap; } //强制换行p { word-wrap:break-word; } //自动换行 p { word-break:break-all; } //强制英文单词断行(行内元素设置为块级元素)p { text-overflow:ellipsis;overflow:hidden;} //超出显示省略号 word-wrap:break-word; 只对英文起作用,以单词作为换行依据input 样式消除input默认样式input, butto
2021-01-20 15:08:19
99
原创 拖放
时间触发的顺序:dragstart(drag元素) -> drag(drag元素) -> dragenter(drop元素) -> dragover(drop元素) -> dragleave(drop元素) -> drop(drop元素) -> dragend(drag元素)设置元素为可拖动<div draggable="true"></div>//将draggable属性设置为true拖动的元素<div draggab.
2021-01-20 15:04:19
95
原创 HTML5 API 传感器事件
html 5 提供了几个新的 DOM 事件来获得设备物理(主要针对移动端)方向及运动的信息,包括:陀螺仪、罗盘及加速计。DeviceMotion (设备运动/手势)提供设备的加速度信息,表示为定义在设备上的坐标系中的笛卡尔坐标,其还提供了设备在坐标系中的自转速率。有 4 个只读属性:accelerationIncludingGravity:重力加速度(包括重心引力9.8)acceleration:加速度(需要设备陀螺仪支持)rotationRate(alpha,beta,gamma)
2021-01-18 14:36:28
508
2
原创 记录遇到的坑
记录遇到的坑移动端调试iOSAndroid移动端调试 <script type="text/javascript" src="https://cdn.bootcss.com/vConsole/3.3.0/vconsole.min.js"></script> <script> var vConsole = new VConsole(); </script>iOSiOS系统将’YYYY-MM-DD HH:mm:ss’用new Date(
2021-01-18 14:21:34
279
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人