Xiang Wang @ 2019-05-16 14:34:54
Element
getBoundingClientRect 官网 返回边的位置
var rect = dom.getBoundingClientRect()
rect.top + rect.height == rect.bottom
getClientRects
官网
var rect = dom.getClientRects()[0]
rect = {
"x": "距离屏幕左侧距离",
"y": "距离屏幕顶部距离",
}
GlobalEventHandlers
[ ] oninput
[ ] oninvalid
onkeydown
按键被按下去触发
onkeypress 不要调用此接口,已经不再被采用。按键被按了触发。
onkeyup 按键谈起触发
document.onkeyup = function(res) {
console.info(res["key"] == "PageDown")
}
[ ] onload
[ ] onloadeddata
WebSocket API 官网
注意,websocket没法被模拟断网来断开
WebSocket 官网
例子
const socket = new WebSocket('ws://localhost:8000');
socket.addEventListener('open', function (event) {
socket.send('Hello Server!');
});
// Listen for messages
socket.addEventListener('message', function (event) {
console.log('Message from server ', event.data);
});
方法属性
onclose
socket.onclose = function(e) {
// e是一个CloseEvent, 客户端主动关闭的,就是1000
}
readyState 返回websocket的状态, 由于open和close的速度太快了,一般只会出现1和3, 0只有在创建对象后立刻查看才是0 0: created, not yet open 1: open, ready 2: closing 3: closed
方法
close([code[, reason]])
socket.close(code, reason)
CloseEvent 官网
当WebSockets被关闭的时候,这个对象会发送给websocket的onclose对象
属性
code: 关闭码
1000, 浏览器主动关闭
1006, 服务器关闭
1011, 服务器报错了,无法处理请求。于是乎关闭了链接
3000-3999, websocket框架的错误码, 客户端最好别用
4000-4999, 客户端的错误码
MessageEvent
当消息来的时候,这个对象会被发送出来
console
clear 清空日志
group 把后面的日志都缩进起来
groupCollapsed
把后面的日志都缩进并折叠起来groupEnd 结束缩进
table 用表格展示某个数据
其他
atob, btoa 字符串转化成base64. 但是不支持中文
const utf8 = require('utf8')
let binary = utf8.encode("我")
let base64 = btoa(binary) // 5oiR
let binary = atob(base64)
let string = utf8.decode(binary) // 我